premier message ici pour vous demander de l'aide sur un truc sur lequel je m'arrache les cheveux depuis un moment
Je dois parser une chaine de texte.
A certains moments je vais trouver des chaines du type [VAR]pseudo[/VAR].
Ce que je souhaite c'est remplacer cette chaine par la valeur de mon tableau correspondante.
Par exemple j'ai écrit ceci :
private function cleanMessageForFlash($pMessage, $pIdUser){
$user = array();
$user['pseudo'] = "Befa";
$user['prenom'] = "Fabrice";
$user['code_user'] = "F12345";
etc...
$patterns = array();
$patterns[0] = '/\[VAR\]([[:alpha:]]*_?[[:alpha:]]*)\[\/VAR\]/i';
$replaces = array();
$replaces[0] = $user['$1'];
$cleanText = preg_replace($patterns, $replaces, $pMessage);
return $cleanText;
}
si dans mon replaces[0] je passe juste $1 il va bien me récupérer pseudo, ou bien code_user, en revanche si j'essaie d'utiliser cette variable $1 comme indice de mon tableau il ne l'interprète plus que comme la chaine de caractère '$1' ...J'ai essayé en faisant des eval($1) ou en appelant une fonction et en lui passant $1 en paramètre mais toujours sans succès.
Si quelqu'un a une petite idée pour me dépanner je l'en remercie d'avance