Bonjour,
je veux remplacer toutes les occurences d'un certain type de chaînes par le résultat d'une fonction de cette chaîne. Un exemple vaut sûrement mieux:
Dans cet exemple, quand func renvoie $arg, echo($text) affiche bien toto, mais quand je veux récupérer le premier caractère de $arg dans func, ça affiche '$'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php $text = "[arg=toto]"; $text = preg_replace("/\[arg=(\#[0-9A-F]{6}|[a-z]+)\]/si", func('$1'), $text); echo($text); exit; function func($arg) { // return($arg[0]); return($arg); } ?>
Il semble donc que ce soit vraiment $1 qui est envoyé à func, et que c'est echo qui l'interprète plus tard comme toto, alors que je voudrais que func connaisse déjà toto....
Avez-vous une idée ?
Merci
Jérôme
Partager