OVH Cloud OVH Cloud

Expresssion regulieres et balise a extraire

3 réponses
Avatar
J. Smith
Bonjour,

Je m'arrache les cheveux depuis 1 semaine sur le problème suivant :

J'ai un texte HTML qui contient des balises <img>.
Je souhaiterais extraire la première balise <img src........> de ce code
HTML pour pouvoir l'utiliser dans mon code PHP.

Pourriez-vous m'aider ?
Merci.

3 réponses

Avatar
william
Bonjour,

Je m'arrache les cheveux depuis 1 semaine sur le problème suivant :


tu as mis une perruque ?


J'ai un texte HTML qui contient des balises <img>.
Je souhaiterais extraire la première balise <img src........> de ce code
HTML pour pouvoir l'utiliser dans mon code PHP.

Pourriez-vous m'aider ?
Merci.


c'est pas difficile pourtant (le code suivant n'a pas ete teste) :

<?php
$chaine = '<html><img toto><img titi></html>';
$balise = 'img';


$pos1 = stripos($chaine,'<'.$balise);

if ($pos1 === false) {
echo "la chaine '$balise' non trouvé dans '$chaine'";
}
else {
$pos2 = stripos($chaine,'>', $pos1);
echo 'la chaine a été trouvé et on a <br>' ;
substr($chaine, $pos1, $pos2 - $pos1);

}

?>

--
William.

Avatar
Patrice Labracherie
"J. Smith" a écrit dans le message de
news:432f0bb5$0$2937$
Bonjour,

Je m'arrache les cheveux depuis 1 semaine sur le problème suivant :

J'ai un texte HTML qui contient des balises <img>.
Je souhaiterais extraire la première balise <img src........> de ce code
HTML pour pouvoir l'utiliser dans mon code PHP.



un truc comme ca ?

if (preg_match_all("/<img(.*)>/i", $cur, $line)) {
for ($i=0; $i<count($line[1]); $i++) {
echo $line[1][$i]."<BR>";
}

Avatar
nospam
Patrice Labracherie wrote:

"J. Smith" a écrit dans le message de
news:432f0bb5$0$2937$
Je m'arrache les cheveux depuis 1 semaine sur le problème suivant :
J'ai un texte HTML qui contient des balises <img>.
Je souhaiterais extraire la première balise <img src........> de ce code
HTML pour pouvoir l'utiliser dans mon code PHP.



un truc comme ca ?

if (preg_match_all("/<img(.*)>/i", $cur, $line)) {
for ($i=0; $i<count($line[1]); $i++) {
echo $line[1][$i]."<BR>";
}


C'est pas un peu sortir un canon pour tuer une mouche ? :)
De plus ça ne marche pas si le document contient plusieurs images.

Ceci devrait faire l'affaire :

<?php

if ( preg_match('/<img(?:.*?)>/i', $text, $regs) ) {
echo "Première balise : ", $regs[0], "n";
}



--
Romuald Brunet, ICQ 33033393

Remplacez nospam par mon prénom pour me contacter par email