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. @++