J'essaie d'exécuter preg_match pour extraire l'attribut SRC de la première balise IMG dans un article (dans ce cas, stocké dans $ row-> introtext).Attribut SRC de balise IMG correspondant en utilisant preg_match
preg_match('/\< *[img][^\>]*[src] *= *[\"\']{0,1}([^\"\']*)/i', $row->introtext, $matches);
Au lieu d'obtenir quelque chose comme
images/stories/otakuzoku1.jpg
de
<img src="images/stories/otakuzoku1.jpg" border="0" alt="Inside Otakuzoku's store" />
Je reçois juste
0
Le regex doit être juste, mais je ne peux pas dire pourquoi il semble correspondre à la frontière attribu te et pas l'attribut src. Alternativement, si vous avez eu la patience de lire ceci jusqu'à présent sans passer directement au champ de réponse et en tapant 'utiliser un analyseur HTML/XML', peut-on recommander un bon tutoriel, car j'ai de la difficulté à trouver un à tout ce qui est applicable à PHP 4.
PHP 4.4.7
Cela a fait l'affaire. Pas la solution «idéale» d'analyser réellement le HTML, mais la seule solution qui fonctionne et donne le résultat nécessaire. Merci! – KyokoHunter
en note, $ matches [0] contient la balise IMG complète et $ matches [1] contient l'URI source. –