Ayuda · Desarrollo web

php | Eliminar un tag y su contenido

Generalmente cuando tienes una expresión a evaluar, tienes la necesidad de quitar ciertos tags que no necesitas, para eso tienes ciertas funciones nativas de php que hacen este propósito. Pero que pasa cuando quieres eliminar un tag y ademas su contenido, por ejemplo:

Tienes la siguiente cadena:

$cadena =”Este es mi texto que quiero que aparezca en la cadena<quitar> pero este no </quitar>. Además quiero testear este otro y <quitar> tampoco </quitar> se ha quitado.”;

echo preg_replace(“%(<tag_html.*?>)(.*?)(<\/tag_html.*?>)%is”,””,$cadena);

Con la expresión regular pasada tenemos que evaluamos el patron <tag_html.*? [mas expresion]
Donde “.*?” es cualquier cosa menos lo que vá despues del interrogante.

Si quisieras filtrar un tag y algún elemento (id, class, hreff, etc) solo basta agregar lo siguiente a la expresión:

echo preg_replace(“%(<tag_html.*?id_class_elemt=”algo”.*?>)(.*?)(<\/tag_html.*?>)%is”,””,$cadena);

Referencia: mediavida.com

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s