extraire des données d'un flux html

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : extraire des données d'un flux html

Re: extraire des données d'un flux html

par Mazarini » 12 oct. 2012, 17:41

J'aurai plutôt parier sur une erreur dans le substr avec un décalage sur l'extraction du titre, pas sur une erreur de syntaxe.

Autrement, il y a peut être plus simple avec des regex, mais je ne maîtrise pas.

[RESOLU]Re: extraire des données d'un flux html

par laurentsc » 12 oct. 2012, 17:09

Excellent, j'ai d'abord crû que ça ne marchait pas jusqu'à ce que je trouve qu'il y avait une petite erreur de syntaxe :

Code : Tout sélectionner

<?PHP $pos = 0; $titre = array(); while ($posdebut=strpos($string,', "',$pos) { $pos = $posdebut + 1; if ($posfin = strpos('$string,",',$posdebut)) { $titre[] = substr($string,$posdebut,$posfin-$posdebut+1); $pos = $posfin; } } var_dump($titre); ?>

Re: extraire des données d'un flux html

par Mazarini » 12 oct. 2012, 16:08

Peut être :
<?PHP
$pos = 0;
$titre = array(); 
while ($posdebut=strpos(', "',$string,$pos) {
   $pos = $posdebut + 1; 
   if ($posfin = strpos('",',$string,$posdebut)) {
        $titre[] = substr($string,$posdebut,$posfin-$posdebut+1);
        $pos = $posfin; 
   }    
}
var_dump($titre); 
?>

extraire des données d'un flux html

par laurentsc » 12 oct. 2012, 15:51

Bonjour,

j'ai une longue liste d'articles (sous forme de html) ; les articles sont de ce type :

Code : Tout sélectionner

Belfkira, R.; Barakat, G.; Nicolas, T.; Nichita, C.; , " Design study and optimization of a grid independent wind/PV/Diesel system," <i>Power Electronics and Applications, 2009. EPE '09. 13th European Conference on</i> , vol., no., pp.1-10, 8-10 Sept. 2009<br> URL:&nbsp;<a href="http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5279268&isnumber=5278662">http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5279268&isnumber=5278662</a><br> <br>
Il y a dans mon cas, en tout, 103 éléments de ce genre et je voudrais en extraire la liste des titres (donc 103 titres), sachant que chacun est encadré par les 2 chaînes , " et ," .Donc comment peut-on faire ça ?