crocxx Posté 18 Avril 2008 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kioob Posté 18 Avril 2008 Partager 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". Lien vers le commentaire Partager sur d’autres sites More sharing options...
crocxx Posté 24 Avril 2008 Auteur Partager Posté 24 Avril 2008 Merci, c'est impeccable, j'ai réglé mon problème Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant