|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : décembre 2004 Messages : 20 ![]() |
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: Code :
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 |
||
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Inscription : août 2006 Messages : 2 700 ![]() |
Bonjour,
Dants ton exemple, $1 vaut "toto". C'est donc une chaîne et pas un tableau. Ne pourrais-tu pas plutôt utiliser substr dans ta fonction ? |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : décembre 2004 Messages : 20 ![]() |
Non, ça fait pareil (ça affiche aussi $). Je pense qu'il y a un problème en amont, dans func('$1'), mais rien de ce que j'ai essayé ne marche.
Jérôme |
|
|
00
|
|
|
#4 |
![]() ![]() Développeur Web Inscription : août 2006 Messages : 2 700 ![]() |
Ouah, chuis bête, j'avais pas vu les simples quotes !
Remplaces par des guillemets pour que la variable soit interpolée. |
|
|
00
|
|
|
#5 | ||
|
Membre éclairé
![]() |
Tu as deux choix :
Code :
$text = preg_replace("/\[arg=(\#[0-9A-F]{6}|[a-z]+)\]/sie", 'func(\'$1\')', $text); Code :
__________________
Testez le forum Fire Soft Board, un forum libre, gratuit et français. Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP. |
||
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : décembre 2004 Messages : 20 ![]() |
Merci ! Ca marche super avec preg_replace_callback.
Jérôme |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com