Petite explication :

Je cherche à supprimer toutes les balises <p/> qui n'ont que des espace comme contenu interpretable par un browser.

Example OK :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<p> </p>
<p>      </p>
<p><span>    </span></p>
Example PAS ok :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<p><span>du texte</span><p id=\"toto\"> </p></p>
--> car <span> comprend du texte et donc il faudrais catch :


Voici ma chaine :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<d><d><h4>salouti ! </h4></d></d><p class=\"mlkjlmk\">
<p><p class=\"jeveutceluila\"><span>   </span>
</p></p><p class=\"etceluila\">  </p></p><d> 
</d>
Je voudrais récupérer les chaines marquées en gras et rouge.

Voici mon expression régulière pour l'instant :
Ceci me trouve :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<p class="mlkjlmk"><p><p class="jeveutceluila"><span>   </span></p></p><p class="etceluila">  </p></p>
Alors je me suis dit je fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
(?s)<p[.*&&[^(p>)]]>  *</.*p>
pour ne prendre que les <p> </p> qui n'inclu pas d'autre <p mais aucun résultat...


Si vous avez une idée ? merci