Estoy tratando de usar una expresión regular para borrar solo la parte coincidente de una cadena. Estoy usando la función preg_replace
y he tratado de eliminar el texto correspondiente poniendo paréntesis alrededor de la parte correspondiente. Ejemplo:
preg_replace('/text1(text2)text3/is','',$html);
Esto reemplaza toda la cadena con '' embargo. Solo quiero borrar text2, pero dejo text1 y text3 intactos. ¿Cómo puedo unir y reemplazar solo la parte de la cadena que coincide?
Utilice $ n en lugar de \\ n. – NikiC
@NikiC ¿es solo estilo o tiene alguna razón detrás? – aorcsik
El uso de $ n sobre \\ n es la recomendación oficial, citando el manual: "[...] puede contener referencias de la forma \\ n o (desde PHP 4.0.4) $ n, siendo esta última la preferido ". No sé el razonamiento exacto detrás de esto, pero la sintaxis $ es al menos a) más legible yb) también tiene soporte para $ {n}. Tal vez hay razones adicionales. – NikiC