¿Cómo puedo obtener en los partidos, cuando se utiliza preg_replace en PHP?
-
08-06-2019 - |
Pregunta
Estoy tratando de apoderarse de la capital de las letras de un par de palabras y se envuelven en las etiquetas span.Estoy usando preg_replace para extraer y envolver a los efectos, pero no sale nada.
preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)
Solución
Usted necesita poner el patrón en paréntesis /([A-Z])/
, como este:
preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)
Otros consejos
\0
también coincide con el coincidente completa expresión sin hacer una captura explícita el uso de paréntesis.
preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str)
Como siempre, usted puede ir a php.net/preg_replace o php.net/<whatever search="" term=""> a la búsqueda de la documentación.Quoth la documentación:
\0 o $0 se refiere el texto que coincide con el patrón completo.
A partir de la preg_replace documentación en php.net:
reemplazo puede contener referencias de el formulario o (desde PHP 4.0.4) $n, con la última forma de ser de la preferida.Cada referencia de este tipo será sustituido por el texto capturado por la n-esima entre paréntesis patrón.
Ver Flubba del ejemplo.
El uso de los paréntesis alrededor de su captura deseado.