2008-08-05 8 views

Répondre

50

Vous devez mettre le modèle entre parenthèses /([A-Z])/, comme ceci:

preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str) 
+7

@Gumbo: Répondre à vos propres questions est parfaitement bien, même encouragé, tant que la question n'est pas une copie d'un autre sur le site. –

8

De l'preg_replace documentation sur php.net:

remplacement peut contenir des références de la form \ n ou (depuis PHP 4.0.4) $ n, avec cette dernière forme étant le pr un autre. Chacune de ces références sera remplacée par le texte saisi par le nième motif entre parenthèses.

Voir l'exemple de Flubba.

25

\0 correspondra également à toute l'expression correspondante sans effectuer de capture explicite à l'aide de parenthèses.

preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str) 

Comme toujours, vous pouvez aller à php.net/preg_replace ou php.net/ < quel que soit le terme de recherche > pour rechercher la documentation rapidement. Quoth la documentation:

\ 0 ou $ 0 fait référence au texte correspondant à l'ensemble du motif.

6

Utilisez des parenthèses autour de la capture souhaitée.

Questions connexes