8796 sujets

Développement web côté serveur, CMS

Bonjour,

J'utilise actuellement cette fonction qui me permet de supprimer les liens :

function del_liens($texte){

	$motif='`<a[^>]+?>(.*?)</a>`';
	$sortie='$1';
	$texte=preg_replace($motif,$sortie,$texte);
	$motif='`<p[^>]+?>(.*?)</p>`';
	$sortie='$1';
	$texte=preg_replace($motif,$sortie,$texte); 	
	return $texte;
} 


Mais il se trouve qu'elle marche avec des liens mais pas avec tous.
Auriez vous une meilleur fonction ? (sachant que je veux garder les autres balises HTML du texte)

Merci
Modifié par wachalala (28 Nov 2009 - 11:13)
arg le code est mal passé...

function del_liens($texte){

$motif='`<a[^>]+?>(.*?)</a>`';
$sortie='$1';
$texte=preg_replace($motif,$sortie,$texte);
$motif='`<p[^>]+?>(.*?)</p>`';
$sortie='$1';
$texte=preg_replace($motif,$sortie,$texte);
return $texte;
}

Voila la fonction
Salut,

quelque chose dans ce style :

function del_liens($texte) {
$motif='#<a[^>]*>(.*)</a>#Ui';
$sortie='$1';
$texte=preg_replace($motif, $sortie, $texte);
$motif='#<p[^>]*>(.*)</p>#Ui';
$sortie='$1';
$texte=preg_replace($motif, $sortie, $texte);
return $texte;
}
Modifié par Heyoan (26 Nov 2009 - 13:55)
Benjamin-Ds a écrit :
strip_tags() ? ...
Ben ça va être un peu galère de n'enlever que les éléments A et P puisqu'avec strip_tags il va falloir spécifier tous les éléments qu'on veut garder... Smiley murf
Benjamin-Ds a écrit :
Sur la page du manuel php de la fonction strip_tags() il y a dans les commentaires des propositions de la fonction "inverse". A vous de tester ...
Du coup plus rien à voir avec strip_tags et ça correspond plus ou moins à ma fonction... en mieux factorisé ! Smiley langue