Foros del Web » Programando para Internet » PHP »

Eliminar saltos de linea si son mas de uno

Estas en el tema de Eliminar saltos de linea si son mas de uno en el foro de PHP en Foros del Web. Quisiera eliminar los saltos de linea siempre y cuando sean más de uno. Estoy tratando con esto: $texto = preg_replace('[\n{2,}]', '', $texto); No da error, ...
  #1 (permalink)  
Antiguo 05/04/2010, 20:03
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Eliminar saltos de linea si son mas de uno

Quisiera eliminar los saltos de linea siempre y cuando sean más de uno.

Estoy tratando con esto:
$texto = preg_replace('[\n{2,}]', '', $texto);

No da error, pero tampoco da resultado.

Por otro lado, ademas de eliminar múltiples /n quisiera eliminar múltiples <br>. Solo si esta en grupos de más de dos seguidos (hay muchos en mi codigo fuente, separados por saltos de linea).
  #2 (permalink)  
Antiguo 05/04/2010, 20:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Eliminar saltos de linea si son mas de uno

lo que sucede es que estas utilizando mal las llaves de cuantificación, así como los corchetes de agrupación, también necesitas algún delimitador legal, etc...

por favor, te sugiero leer los siguiente:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 05/04/2010, 20:35
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: Eliminar saltos de linea si son mas de uno

Dale. Mañana lo leo en profundidad. Hoy ya lo había encontrado, pero no estudiado.

Queriendo hacer las cosas rapidas, aprendí a hacer estas llaves de cuantificación, y creo que son buenas:

{2,}

... para encontrar dos o mas ocurrencias.

Estoy detras de algo así:

"/<br>{2,}/s"

Te parece correcto? Con la logica de borrar multiples <br> seguidos (contemplando los saltos de linea /n).
  #4 (permalink)  
Antiguo 05/04/2010, 20:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Eliminar saltos de linea si son mas de uno

la idea es correcta, la implementación no... me explico:

las llaves de cuantificación solo afectan al último carácter expresado, entonces para que resulte afectada dicha frase completa también deberías agruparla...

Cita:
/(<br\s*\/>|\n){2,}/i
en ese sentido ya funcionaría como se espera... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 06/04/2010, 08:17
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: Eliminar saltos de linea si son mas de uno

Cierto! Gracias.

Ahora voy a leer tu aporte mas atentamente.

De paso, dejo un link a un manual que me parece sencillo:
http://boozox.net/php/manual-complet...ulares-en-php/



Finalmente lo resolví así, porque había algo que no me funcionaba en el anterior. A veces me dejaba sin saltos!

"/(<br>[\n|\r]+){2,}/is"

Respecto a eliminar los saltos de linea \n \r si son mas de uno. encontre esto y funciona:

$texto=preg_replace("/\s{2,}/","",$texto);

Última edición por mayid; 06/04/2010 a las 09:35

Etiquetas: eliminar, linea, mas, saltos
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 21:14.