Foros del Web » Programando para Internet » PHP »

Validar saltos de linea (\n) de un textarea en php

Estas en el tema de Validar saltos de linea (\n) de un textarea en php en el foro de PHP en Foros del Web. Hola amigos, tengo un textarea para que los usuarios se escriban mensajes entre sí. En el lado del cliente lo valido con el siguiente javascript ...
  #1 (permalink)  
Antiguo 03/08/2010, 11:09
 
Fecha de Ingreso: abril-2008
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 2
Validar saltos de linea (\n) de un textarea en php

Hola amigos, tengo un textarea para que los usuarios se escriban mensajes entre sí. En el lado del cliente lo valido con el siguiente javascript y funciona correctamente:

Código:
function clean_letters_and_numbers_ext(letters){
var valid_letters="ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚabcdefghijklmnñopqrstuvwxyzáéíóúºª -0123456789,.;:_Ç(){}[]+*¿?¡!=/%$@¬\n\"'äëïöüÄËÏÖÜ";
letterok=true;
	for (i=0; letterok && i<letters.length; i++){
		letterok=false;
		for (j=0; letterok==false && j<valid_letters.length; j++){
			if (letters.charAt(i)==valid_letters.charAt(j)) letterok=true;
		}
	}
	return letterok;
}
Pero en el lado del servidor utilizando una función muy parecida, me funciona todo menos los "intros" (\n):

Código:
function clean_letters_and_numbers_ext($letters){
	$allow="ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚabcdefghijklmnñopqrstuvwxyzáéíóúºª -0123456789,.;:_Ç(){}[]+*¿?¡!=/%$@¬\n\"'äëïöüÄËÏÖÜ";
	$continue=true;
		for ($i=0; $continue && $i<strlen($letters); $i++){ 
			if (strpos($allow, substr($letters,$i,1))==false) $continue=false;
		}
	return $continue;
}
¿Por qué, en el lado del servidor, me coge las \" y no las \n?
¿Funcionaría mejor con expresiones regulares?

Muchas gracias
  #2 (permalink)  
Antiguo 03/08/2010, 13:10
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Validar saltos de linea (\n) de un textarea en php

para eso existen las expresiones regulares, como preg_match
  #3 (permalink)  
Antiguo 03/08/2010, 13:12
 
Fecha de Ingreso: abril-2008
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: Validar saltos de linea (\n) de un textarea en php

Solucionado, bastaría con poner \r\n en lugar de sólo \n
  #4 (permalink)  
Antiguo 04/08/2010, 05:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Validar saltos de linea (\n) de un textarea en php

Añado, trata usando la constante PHP_EOL al final en vez de \r\n.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 04/08/2010, 18:08
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 5 meses
Puntos: 88
Respuesta: Validar saltos de linea (\n) de un textarea en php

si es solo para mostrar lo que guardas del textarea puedes usar la funcion nl2br
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.

Etiquetas: linea, saltos, textarea
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:16.