Reemplazar varios <br>con sólo un <br>

Iniciado por OssoH, 25 Noviembre 2015, 16:38 PM

0 Miembros y 1 Visitante están viendo este tema.

OssoH

Hola, quiero hacer un php que se sustituyan varios <br> con un sólo <br>.

Por ejemplo :
<br><br><br><br>   =>   <br>
<br><br>                  =>   <br>

Supongo que lo mejor sería hacerlo con expresiones regulares pero no encuentro la forma en php.
Alguna sugerencia?
Gracias de antemano.

#!drvy

#1
Código (php) [Seleccionar]
$contenido = '<br><br>hola k ase<br /><br />chupa el perro';
$contentido = preg_replace("/(<br\s*\/?>){2,}/", "$1", $contenido);
//<br>hola k ase<br />chupa el perro


Saludos

OssoH

Gracias por la sugerencia.
Al final lo hice de la siguiente forma, pero creo que tu método es más completo.


    $patron = "#(<br />((\r)*)((\n)*))+#";//Patrón de búsqueda, que mediante expresión regular busca varios saltos seguidos
    $sustituto = "<br />";//sustituye por un solo salto
    $str=preg_replace ($patron,$sustituto,$str);