elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: Problemas con saltos de lineas seguidos en un formulario (textarea)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: Problemas con saltos de lineas seguidos en un formulario (textarea)  (Leído 649 veces)
Leguim


Desconectado Desconectado

Mensajes: 674



Ver Perfil
[Pregunta]: Problemas con saltos de lineas seguidos en un formulario (textarea)
« en: 19 Diciembre 2019, 20:00 pm »

Buenos días tengo un formulario muy simple:

Esto viene de un tema pasado para que puedan entender mejor: https://foro.elhacker.net/desarrollo_web/pregunta_iquestcomo_puedo_hacer_que_si_son_4_espacios_seguidos-t501708.0.html

La idea básica es que si son 3 saltos de líneas o más seguidos que están vacíos estos se conviertan en 2, por lo que si me mandan

"T







M"

esto se convierta en

"T


M"

No entiendo porque en el primer código donde lo hago de una forma más "estática" si funciona, pero si ya lo hago con un formulario usando un textarea ya no...

estática
Código
  1. <?php
  2. $string = '• Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod.'."\r\n\n\n\n\n\n\n\n\n".'• Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod.'."\r\n".'• Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod.';
  3. $string = Clearn_Data('textarea', $string);
  4.  
  5. echo nl2br($string);
  6. ?>
  7.  

dinámica
Código
  1. <form method="post">
  2. <textarea name="texto" placeholder="texto"></textarea>
  3. <button type="submit" name="enviar">enviar</button>
  4. </form>
  5.  
  6. if(isset($_POST['enviar']))
  7. {
  8. $texto = Clearn_Data('textarea', $_POST['texto']);
  9.  
  10. echo nl2br($texto);
  11. }
  12.  

La función es:
Código
  1. function Clearn_Data($type, $data)
  2. {
  3.      if($type === 'textarea')
  4. {
  5. $data = htmlspecialchars($data);
  6. $data = trim($data);
  7. $data = preg_replace('/\n{3,}/m', "\n\n", $data);
  8. }
  9.  
  10.     return $data;
  11. }
  12.  


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.605


🏴 Libertad!!!!!


Ver Perfil WWW
Re: [Pregunta]: Problemas con saltos de lineas seguidos en un formulario (textarea)
« Respuesta #1 en: 19 Diciembre 2019, 22:05 pm »

Tienes que pensar que hay sistenas envian

Código:
\r\n
en Lugar de solo
Código:
\n

Por lo tanto tu busquda no va coincider con los primeros.

Saludos!


En línea

Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.460



Ver Perfil
Re: [Pregunta]: Problemas con saltos de lineas seguidos en un formulario (textarea)
« Respuesta #2 en: 19 Diciembre 2019, 22:42 pm »

Tienes que pensar que hay sistenas envian

Código:
\r\n
en Lugar de solo
Código:
\n

Por lo tanto tu busquda no va coincider con los primeros.

Saludos!

cuando se envia \r\n 3 veces seguidas son \r\n\n\n o \r\n\r\n\r\n? ya que lo logico (bajo la propuestas de \r como retorno de carro) es que solo fuera uno, no?

si es web solamente, yo opino que quemes primero los /r en dicho caso...
« Última modificación: 19 Diciembre 2019, 22:48 pm por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.605


🏴 Libertad!!!!!


Ver Perfil WWW
Re: [Pregunta]: Problemas con saltos de lineas seguidos en un formulario (textarea)
« Respuesta #3 en: 19 Diciembre 2019, 22:51 pm »

A ver depurando con las herramientas de desarrollador del navagador  :silbar: :silbar: :silbar:

Enviado:
Código:
texto: Prueba con tres "Enter" en windows
T


1
enviar:

RawData:
Código:
texto=Prueba+con+tres+%22Enter%22+en+windows%0D%0AT%0D%0A%0D%0A%0D%0A1%0D%0A&enviar=


Código:
%0D%0A%0D%0A%0D%0A

Es \r\n\r\n\r\n

Saludos!
En línea

Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW
@XSStringManolo
<svg/onload=alert()>
Colaborador
***
Desconectado Desconectado

Mensajes: 2.279


Turn off the red ligth


Ver Perfil WWW
Re: [Pregunta]: Problemas con saltos de lineas seguidos en un formulario (textarea)
« Respuesta #4 en: 19 Diciembre 2019, 23:25 pm »

Olle, pero tienes la función trim, esa te elimina todos los espacios, saltos de línea, etc.
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.172


I'm fourth.


Ver Perfil WWW
Re: [Pregunta]: Problemas con saltos de lineas seguidos en un formulario (textarea)
« Respuesta #5 en: 19 Diciembre 2019, 23:28 pm »

Olle, pero tienes la función trim, esa te elimina todos los espacios, saltos de línea, etc.

Trim elimina espacios en blanco en los bordes del string, no todos los espacios en blanco.
En línea

Leguim


Desconectado Desconectado

Mensajes: 674



Ver Perfil
Re: [Pregunta]: Problemas con saltos de lineas seguidos en un formulario (textarea)
« Respuesta #6 en: 20 Diciembre 2019, 01:47 am »

Hice así y funciona, ¿qué les parece?

Código
  1.                        $data = htmlspecialchars($data);
  2. $data = trim($data);
  3. $data = preg_replace('/\r/m', '', $data);
  4. $data = preg_replace('/\n{3,}/m', "\n\n", $data);
  5.  
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Interfaz saltos de líneas para PIC
.NET (C#, VB.NET, ASP)
Meta 0 1,960 Último mensaje 3 Mayo 2009, 18:50 pm
por Meta
Saltos de linea textarea // Ajax y PHP
PHP
Mr. Crowley 0 10,335 Último mensaje 27 Enero 2010, 03:38 am
por Mr. Crowley
(Consulta) Optimizando programas omitiendo los saltos de líneas
Programación C/C++
class_OpenGL 8 2,487 Último mensaje 16 Marzo 2016, 15:14 pm
por engel lex
[Pregunta]: ¿Es normal que los saltos de lineas sean 2 caracteres?
Desarrollo Web
Leguim 2 728 Último mensaje 30 Noviembre 2019, 15:27 pm
por Serapis
[Pregunta]: Contar saltos de lineas de una cadena (PHP)
PHP
Leguim 4 700 Último mensaje 4 Diciembre 2019, 16:14 pm
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines