Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/12/2012, 08:29
fido-strike
 
Fecha de Ingreso: noviembre-2008
Ubicación: Cochabamba Bolivia
Mensajes: 519
Antigüedad: 15 años, 4 meses
Puntos: 26
Eliminar dobles saltos de linea

Buenas,

llevo mas de 3 horas intentando eliminar los dobles saltos de linea de una cadena enviada desde un form, he conseguido logros a media pero no puedo hacer que funcione bien, haber si me explico mejor.

Código PHP:
Ver original
  1. function QuitarDoblesSaltos($string){
  2.     $patron = "(<br />)+";//Patrón de búsqueda, que mediante expresión regular busca varios saltos seguidos
  3.     $sustituto = "<br />";//sustituye por un solo salto
  4.     $cadenasalida=eregi_replace ($patron,$sustituto,$string);
  5.  
  6.         return $cadenasalida;
  7.     }
  8. $txt1 = "El gato<br /><br /><br /><br /><br />que esta triste y azul"; // BRs (saltos de linea) en la misma linea
  9. $txt2 = "El gato<br />
  10. <br />
  11. <br />
  12. <br />
  13. <br />que esta triste y azul";  // BRs (saltos de linea)  en cada linea.
  14.  
  15. QuitarDoblesSaltos($txt); // FUNCIONA!!
  16. QuitarDoblesSaltos($txt2); // NO FUNCIONA!!
Esta función me quita los saltos de linea que estan en cadenas del tipo $txt1, pero si la cadena tiene saltos de linea doble del tipo $txt2 (me refiero a los BRs entre salto de linea)

con esto trato de imprimir el texto guardado en Mysql que esta guardado con las etiquetas HTML <br/>.

Aunque mi objetivo real es eliminar saltos de linea doble ya sea antes de guardar en la base de datos o bien al sacarlos de la base de datos, da igual pero el caso es que no quiero que se muestren dobles saltos de linea.

alguien puede ayudarme¿?