Bonjour à toutes et à tous,
J'aimerais remplacer le contenu du balise HTML précise (par son id) par autre chose.
Malgré mes différentes lectures (tuto+topics) au sujet du remplacement des bouts de chaines via REGEX, je ne m'en sort pas...
Le motif que j'utilise semble fonctionner tant qu'il n'y a pas d'imbrication de balises de même type.
Dans la chaine suivante, j'aimerais remplacer ce qui est en rouge :
Sauf, qu'avec ce motif :<div id="id-boite"><p><div id="zzz" class="eee">blabla et <strong>blabla</strong></div></p></div>
affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php $pattern = '#(<div(.*)id="id-boite"(.*)>)(.*)(<\/div>)#U'; $chaine = '<div id="id-boite"><p><div id="zzz" class="eee">blabla et <strong>blabla</strong></div></p></div>'; $remplacement = 'AZERTY'; echo preg_replace($pattern, "$1".$remplacement."$5", $chaine); ?>Mon remplacement s'arrête donc au premier </ div> !<div id="id-boite">AZERTY</div></p></div>
Alors comment remplacer correctement tout le contenu du div ?
Merci d'avance
![]()








Répondre avec citation
Partager