Ver Mensaje Individual
  #8 (permalink)  
Antiguo 18/01/2011, 07:47
chefnelone
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 19 años
Puntos: 15
Respuesta: preg_replace para reemplazar tag?

Al final he encontrado una función que solo falta mejorarla un poco:
Lo que hace es borrar CUALQUIER tipo de tag que no tenga texto o tenga solo espacios como:
Código HTML:
<font size='4'> </font>
<p></p>
<p><span></span></p>
<p> </p> 
Faltaría modificarla para que también borre CUALQUIER tipo de tag que solo tenga <br/> y espacios como:
Código HTML:
<p><br/></p>
<p><br/><br/></p>
<b><br/> <br/> </b> 
Código PHP:
function stripEmptyTags ($result)
{
$regexps = array (
    
'~<(\w+)\b[^\>]*>\s*</\\1>~'
    
);
    do
    {
        
$string $result;
        
$result preg_replace ($regexps''$string);
    }
    while (
$result != $string);

    return 
$result;
}

$string "<b>texto</b><br/>texto<b><span> </span></b><p>  <br/></p><b></b><font size='4'><span></span></font>";
echo 
stripEmptyTags ($string);