Page 1 sur 1

Fonction preg_replace()

Posté : 18 juin 2013, 17:13
par loutoune54
Bonjour à tous,

Je rencontre actuellement un soucis avec l'utilisation de la fonction preg_replace().

Je souhaite remplacer un tag HTML (ici la div de classe "principal") et tout son contenu.

Malheureusement je n'arrive pas à obtenir le résultat souhaité car il se trouve que la div "principal" contient deux autres div imbriquées.

Code : Tout sélectionner

$var = ' <div class="principal"> <p>1</p> <div class="secondaire"> <p>2</p> <div class="tertiaire"> <p>3</p> </div> </div> </div> <div class="test"> BLABLA </div>'; $var = preg_replace('/<div [^>]*class="principal">.*?<\/div>/ms', '', $var); echo $var;
J'obtiens

Code : Tout sélectionner

</div> </div> <div class="test"> BLABLA </div>
au lieu de

Code : Tout sélectionner

<div class="test"> BLABLA </div>
Pouvez-vous m'aider à obtenir ce résultat s'il vous plait ?

Merci par avance de vos réponses.

Benjamin.

Re: Fonction preg_replace()

Posté : 19 juin 2013, 19:52
par moogli
salut,

a tu essayé de mettre les 3 div dans le masque ?
$var = preg_replace('/<div [^>]*class="principal">.*?<\/div></div></div>/ms', '', $var);

a voir avec les tabulations et saut de lignes.


@+