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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  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 5,330 veces)
Leguim


Desconectado Desconectado

Mensajes: 719



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.696


🏴 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

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



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.696


🏴 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

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.397


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

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


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: 719



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 2,600 Último mensaje 3 Mayo 2009, 18:50 pm
por Meta
Saltos de linea textarea // Ajax y PHP
PHP
Mr. Crowley 0 13,591 Ú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 3,691 Ú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 2,310 Último mensaje 30 Noviembre 2019, 15:27 pm
por Serapis
[Pregunta]: Contar saltos de lineas de una cadena (PHP)
PHP
Leguim 4 6,326 Último mensaje 4 Diciembre 2019, 16:14 pm
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines