utilisation preg_replace_callback()
:
Vous ne pouvez pas faire d'autres cas de conversion avec des expressions régulières sauf dans des cas spécifiques (par exemple remplacer 'A' par 'a' est possible).
Editer: Ok, vous apprenez quelque chose de nouveau tous les jours. Vous pouvez le faire:
$output = preg_replace('![a-zA-Z]+:!e', "strtoupper('\\1')", $input);
De Pattern Modifiers:
e (PREG_REPLACE_EVAL)
Si ce modificateur est défini, preg_replace()-t substitution normal de références arrières dans le chaîne de remplacement, l'évalue comme le code PHP, et utilise le r Esult pour en remplaçant la chaîne de recherche. Les guillemets simples, les guillemets doubles, les barres obliques inversées() et les caractères NULL seront remplacés par les barres obliques inversées dans les références substituées.
Seul le preg_replace() utilise ce modificateur ; il est ignoré par d'autres fonctions PCRE .
Je voudrais cependant hésiter à cordes ING eval(), en particulier lorsqu'il est combiné avec l'entrée d'utilisateur, il peut être un très pratique dangereuse. Je préférerais l'approche preg_replace_callback()
en règle générale.
c'est une nouvelle pour moi! Merci – Galen