(PHP 3>= 3.0.9, PHP 4 , PHP 5)
preg_replace -- Lleva a cabo la búsqueda de una expresión y su sustituciónBusca en entrada los emparejamientos con patron y los sustituye por reemplazo. Si se especifica el parámetro limite, solo limite serán reemplazados; si limite se omite o es igual a -1 todas las coincidencias serán reemplazadas.
reemplazo puede contener referencias de la forma \\n. Éstas serán sustituidas por el texto obtenido por el patrón del paréntesis nésimo. n puede tener un valor de cero a noventa y nueve, y \\0 se refiere al texto casado por el patrón completo. Para obtener el número del subpatrón de búsqueda, los paréntesis abiertos son contados de izquierda derecha tomando el primero como uno.
Cuando trabajes con patrones de reemplazo donde una referencia hacia atrás esté inmediatamente seguida por otro número (por ejemplo: poniendo un número literal después de un patrón coincidente), no puedes usar el método normal \\1 para la referencia hacia atrás. \\11, por ejemplo, confundirá a preg_replace()() ya que no sabe si quieres usar la referencia hacia atrás \\1 seguida de un 1 literal, o la referencia \\11 seguida de nada. En este caso la solución es usar \${1}1. Esto usa la referencia \\1, dejando el 1 literal tras el.
Si el patrón no es encontrado en entrada, entonces no se realizarán cambios.
Todos los parámetros de la función preg_replace() (excepto limite) pueden ser un array unidimensional. Cuando se usan arrays como patron o reemplazo, las claves son procesadas en el orden en que aparecen en el array. Este no es necesariamente el orden numérico del mismo. Si usas indices numéricos para identificar que patron corresponde a cada reemplazo deberás aplicar un ksort() a cada uno de los arrays antes de aplicar preg_replace().
Ejemplo 2. Usando arrays con claves numéricas con preg_replace()
Salida:
Aplicando ksort() sobre los patrones y los reemplazos podemos obtener el comportamiento esperado.
Salida:
|
Si entrada es un array, entonces la búsqueda y sustitución es realizada para todos los elementos de entrada, y el valor devuelto es también un array.
Si patron y reemplazo son arrays, entonces preg_replace() toma un valor desde cada array y los usas para buscar y sustituir sobre entrada. Si reemplazo tiene menos valores que patron, entonces la cadena vacía es usada como valor para el resto de sustituciones. Si patron es una array y reemplazo es una cadena, entonces esta cadena de sustitución es usada para todos los valores de patron. Sin embargo, lo contrario no tiene sentido.
El modificador /e hace que la función preg_replace() trate el parámetro reemplazo como código PHP después de que la apropiada sustitución sea hecha. Atención, asegúrate que reemplazo es un código PHP correcto, de otro modo PHP dará un error de parse en la línea que contenga preg_replace().
Nota: Este modificador fue añadido en PHP 4.0.
$startDate = 5/27/1999 |
Examina también preg_match(), preg_match_all(), y preg_split().