Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: OssoH en 25 Noviembre 2015, 16:38 pm



Título: Reemplazar varios <br>con sólo un <br>
Publicado por: OssoH en 25 Noviembre 2015, 16:38 pm
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.


Título: Re: Reemplazar varios <br>con sólo un <br>
Publicado por: #!drvy en 25 Noviembre 2015, 17:39 pm
Código
  1. $contenido = '<br><br>hola k ase<br /><br />chupa el perro';
  2. $contentido = preg_replace("/(<br\s*\/?>){2,}/", "$1", $contenido);
  3. //<br>hola k ase<br />chupa el perro

Saludos


Título: Re: Reemplazar varios <br>con sólo un <br>
Publicado por: OssoH en 25 Noviembre 2015, 17:42 pm
Gracias por la sugerencia.
Al final lo hice de la siguiente forma, pero creo que tu método es más completo.

Código:
	    $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);