Foros del Web » Programando para Internet » PHP »

Expresión regular para borrar tags vacios

Estas en el tema de Expresión regular para borrar tags vacios en el foro de PHP en Foros del Web. Cómo puedo borrar tags vacíos mediante una expresión regular, que tengan espacios vacíos o ninguno dentro. Ejemplos : <p> </p> <div></div> <br> </br> Muchas gracias ...
  #1 (permalink)  
Antiguo 03/12/2009, 14:27
 
Fecha de Ingreso: noviembre-2009
Mensajes: 24
Antigüedad: 14 años, 5 meses
Puntos: 0
Expresión regular para borrar tags vacios

Cómo puedo borrar tags vacíos mediante una expresión regular, que tengan espacios vacíos o ninguno dentro.

Ejemplos : <p> </p> <div></div> <br> </br>



Muchas gracias !!!
  #2 (permalink)  
Antiguo 03/12/2009, 14:33
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Expresión regular para borrar tags vacios

Código php:
Ver original
  1. $string = '<p> </p> <div></div> <a> </a><b> asdasd </b>';
  2. $string = preg_replace('/(\<.*\>\s*\<.*\>)/iU','',$string);
  3. echo $string;

recién sacada del horno...

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 03/12/2009, 14:42
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Expresión regular para borrar tags vacios

Te sugiero que leas esta guía para que puedas desenvolver http://www.forosdelweb.com/f18/aport...s-pcre-646110/

Pero algo así lo puedes hacer
Código PHP:
Ver original
  1. <?php
  2. $s = "<p> </p> <div></div> <br> </br> <div>algo</div>";
  3. echo preg_replace("/<[^>]+>\s*<\/[^>]+>/iU","",$s);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 03/12/2009, 15:19
 
Fecha de Ingreso: noviembre-2009
Mensajes: 24
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Expresión regular para borrar tags vacios

Cita:
Iniciado por Hidek1 Ver Mensaje
Código php:
Ver original
  1. $string = '<p> </p> <div></div> <a> </a><b> asdasd </b>';
  2. $string = preg_replace('/(\<.*\>\s*\<.*\>)/iU','',$string);
  3. echo $string;

recién sacada del horno...

saludos!
Muchas muchas gracias !
  #5 (permalink)  
Antiguo 03/12/2009, 15:20
 
Fecha de Ingreso: noviembre-2009
Mensajes: 24
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Expresión regular para borrar tags vacios

Cita:
Iniciado por abimaelrc Ver Mensaje
Te sugiero que leas esta guía para que puedas desenvolver
Pero algo así lo puedes hacer
Código PHP:
Ver original
  1. <?php
  2. $s = "<p> </p> <div></div> <br> </br> <div>algo</div>";
  3. echo preg_replace("/<[^>]+>\s*<\/[^>]+>/iU","",$s);
Gracias !! lo estudiaré a fondo, apenas llevo unos días con php.
  #6 (permalink)  
Antiguo 03/12/2009, 15:25
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Expresión regular para borrar tags vacios

de nada ! :P
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 03/12/2009, 22:48
 
Fecha de Ingreso: noviembre-2009
Mensajes: 24
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Expresión regular para borrar tags vacios

Hay alguna manera para que la expresión excluya los tags <img> ?

Gracias!
  #8 (permalink)  
Antiguo 04/12/2009, 07:50
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Expresión regular para borrar tags vacios

Para excluir solo necesitas declarar [^img]. Tienes que tambien usar el simbolo de | que significa or. Te sugiero leer la guia que te indique para que puedas lograrlo y así te puedas desenvolver.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:53.