Supprimer tous les caractères d'un array SAUF certains tags et leur contenu ?

neotar
Invité n'ayant pas de compte PHPfrance

25 nov. 2008, 20:55

Salut,
Je sais pas trop si les termes utilisés sont correct mais je vais essayer de me faire comprendre.
Je vais chercher du contenu dans ma DB via PHP le résultat et similaire à ce qui suit :

Code : Tout sélectionner

bblablabla67<a href="blbla">89çè</a> <a rel="nofollow" target="_blank" href="MONURLX" /><img scr="MONIMAGEX"/></a> bblablabla<br />------------------blabl<strong>aba</strong> :tag: <a rel="nofollow" target="_blank" href="MONURLX" /><img scr="MONIMAGEX"/></a>

J'essaie de mettre en place un preg_replace (ou autre?) pour supprimer tout le texte et les tags HTML qui ne sont pas de la forme :

Code : Tout sélectionner

<a rel="nofollow" target="_blank" href="*" /><img src="*" /></a>
Un peu d'aide serait grandement appréciée.
Merci

ViPHP
ViPHP | 3607 Messages

25 nov. 2008, 23:13

Bonsoir,
on va essayer de faire le contraire, on va récupérer tout le sliens qui sont de la bonne forme...avec preg_match_all() et une regexp de ce style:

Code : Tout sélectionner

#<a\s*rel="nofollow"\s*target="_blank"\s*href=".+"\s*/>\s*<img\s*src=".+"\s*/>\s*</a>#Us
Tu récupèreras tout les tes liens, comme tu le souhaites ;)

neotar
Invité n'ayant pas de compte PHPfrance

26 nov. 2008, 02:44

HEY merci beaucoup :D
J'avais mis un / en trop à la fin de ma balise <a mais sinon c'est parfait.
#<a\s*rel="nofollow"\s*target="_blank"\s*href=".+"\s*>\s*<img\s*src=".+"\s*/>\s*</a>#Us