preg_replace_callback [Résolu]

WRInaute occasionnel
Salut à tous,

voici mon problème : j'ai un texte, dans celui-ci des chaînes de caractères spécifiques telles que '{a}', or je souhaiterais remplacer chacune de ces chaînes selon un fonction différente. J'ai donc commencé par utiliser la fonction preg_replace_callback dans laquelle j'ai créé ma fonction de traitement:
Code:
$new_content = preg_replace_callback(
    "|{a}|",
    create_function(
        '$matches, $autres_variables',
        '/*script de traitement */ return $chaine_remplacee"'),
    $ancien_contenu);

Or il semblerait que l'on ne peut transmettre que $matches lors de l'appel de la fonction, sans pouvoir donc transférer des variables supplémentaires.
Quelqu'un a-t'il déjà eu ce type de problème ? conçu une alternative ou quelque chose de proche ?
 
WRInaute discret
Re: preg_replace_callback

yep a dit:
Salut à tous,
..//..
Or il semblerait que l'on ne peut transmettre que $matches lors de l'appel de la fonction, sans pouvoir donc transférer des variables supplémentaires.
As-tu essayé

Code:
array($matches, $autres_variables)
à la place de '$matches, $autres_variables' :?:
 
WRInaute occasionnel
Non, mais c'est une bonne idée à tester;
En fait j'ai réussi à faire ce que je voulais faire,
je ne passe que $matches dans ma fonction, puis j'utilise des variables global pour récupérer les autres variables (oui je sais c'est pas beau, mais là je n'ai pas le temps :p)
 
Discussions similaires
Haut