Petite explication :![]()
Je cherche à supprimer toutes les balises <p/> qui n'ont que des espace comme contenu interpretable par un browser.
Example OK :
Example PAS ok :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <p> </p> <p> </p> <p><span> </span></p>
--> car <span> comprend du texte et donc il faudrais catch :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <p><span>du texte</span><p id=\"toto\"> </p></p>
Code : Sélectionner tout - Visualiser dans une fenêtre à part <p id=\"toto\"> </p>
Voici ma chaine :
Je voudrais récupérer les chaines marquées en gras et rouge.
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>
Voici mon expression régulière pour l'instant :
Ceci me trouve :
Code : Sélectionner tout - Visualiser dans une fenêtre à part (?s)<p.*?> +</.*p>
Alors je me suis dit je fait :
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>
pour ne prendre que les <p> </p> qui n'inclu pas d'autre <p mais aucun résultat...
Code : Sélectionner tout - Visualiser dans une fenêtre à part (?s)<p[.*&&[^(p>)]]> *</.*p>
Si vous avez une idée ? merci![]()
Partager