PHP - Expressions régulières
Lewis Networks
-
bot1fo Messages postés 10 Date d'inscription Statut Membre -
bot1fo Messages postés 10 Date d'inscription Statut Membre -
Bonjour,
J'essaie de programmer un système de BBCode pour mon site, tout fonctionne sauf lorsque je veux imbriquer plusieurs BBCode,
Du genre:
Le code:
Je pense que le la solution que les " ne soient pas pris en compte dans la condition de la regexp (.*?), je ne sais pas comment faire ceci.
Voici le code PHP:
Merci d'avance pour toute aide, il me reste juste à résoudre ce problème pour terminer mon dernier site, tout fonctionne autrement. @++
J'essaie de programmer un système de BBCode pour mon site, tout fonctionne sauf lorsque je veux imbriquer plusieurs BBCode,
Du genre:
[URL U="..." T="..."][THUMB T="..."]...[/THUMB][/URL]
Le code:
[THUMB T="..."]...[/THUMB]est correctement parsé, par contre pour [URL U="..., la regexp prend en compte la totalité du code généré, donc cela donne:
<a href="..." T="..." onclick="..." T="..."><img src="..." alt="..." /></a>
Je pense que le la solution que les " ne soient pas pris en compte dans la condition de la regexp (.*?), je ne sais pas comment faire ceci.
Voici le code PHP:
$pattern = array( '`\[THUMB T="(.*?)"](.*?)\[/THUMB]`', '`\[URL U=".*?" T=".*?"](.*?)\[/URL]`' ); $replace = array( '<img src="$2" class="item-picture" alt="$1" />', '<a href="$1" onclick="javascript:window.open(\'$1\'); return false" title="$3">$2</a>', ); $content = preg_replace($pattern, $replace, $content);
Merci d'avance pour toute aide, il me reste juste à résoudre ce problème pour terminer mon dernier site, tout fonctionne autrement. @++