crocxx Posté 18 Avril 2008 Posté 18 Avril 2008 Bonjours, J'ai un petit problème pour un expression régulière, peu être que quelqu'un peu m'aider. J'ai dans ma base de donnée des articles formaté avec un syntaxe proche du BBCode, donc les codes sources dans mes articles sont dans les balises [code ][ /code].Avec un petite expression j'ai essayer d'appeler un fonction de coloration syntaxique pour tous les codes: $chaine = ereg_replace("\[code\] ?([^\[]*) ?\[/code\]", '<pre><code>'.BBcode('\\1').'</code></pre>', $chaine); A ce que j'ai pu voir cela ne fonctionne pas, l'expression régulier execute bien ma fonction, mais avec \\1 en paramétre, pour le remplacer une fois executer (donc mon code s'affiche bien, mais pas coloré). Quelqu'un aurai il une solution? Merci d'avance
Kioob Posté 18 Avril 2008 Posté 18 Avril 2008 Hello, utilises preg_replace_callback() à la place (surtout que ereg_replace est déconseillée au moins depuis PHP 4, et disparaitra de PHP 6). Mais même comme ça, j'aurais tendance à procéder en deux étapes pour éviter des remplacements "en boucle".
crocxx Posté 24 Avril 2008 Auteur Posté 24 Avril 2008 Merci, c'est impeccable, j'ai réglé mon problème
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant