preg_replace : utiliser une fonction dans les paramètres
Bonjour à tous,
J'utilise une expression régulière pour remplacer un code bbcode du type
Code:
1 2 3
|
[url=monurl]montexte[/url] |
par
Code:
1 2 3
|
<a href="monurl" title="Aller sur monurl">montexte</a> |
Voici la fonction que j'utilise:
Code:
1 2 3 4
|
//remplacer les [url=][/url]
$texte = preg_replace('`\[url=(.*?)](.*?)\[/url]`si', '<a href="$1" target="_blank" title="Aller sur $2">$2</a>', $texte); |
Problème: si je place une balise color dans ma balise url, la partie title="" casse tout.
Code:
1 2 3
|
[url=monurl][color=#FF0000]montexte[/color][/url] |
...je me retrouve avec
Code:
1 2 3
|
<a href="http://www.google.fr" target="_blank" title="Aller sur <span style="color:#FF0000;">Google</span>"><span style="color:#FF0000;">Essai</span></a> |
et qui affiche ça
Google">Essai
J'aimerai donc utiliser la fonction strip_tags pour supprimer l'html de la partie title, comment faire ça svp?
Merci d'avance