Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Funcion php STRLEN cuenta el salto de linea

Estas en el tema de Funcion php STRLEN cuenta el salto de linea en el foro de PHP en Foros del Web. Hola a todos ¿Que podría hacer en la siguiente función strlen para que no reconozca el salto de linea como un numero? TEXTO: Foros del ...
  #1 (permalink)  
Antiguo 06/12/2015, 13:18
Avatar de leo_search1  
Fecha de Ingreso: octubre-2011
Mensajes: 100
Antigüedad: 13 años
Puntos: 1
Pregunta Funcion php STRLEN cuenta el salto de linea

Hola a todos
¿Que podría hacer en la siguiente función strlen para que no reconozca el salto de linea como un numero?

TEXTO:

Foros
del
Web

Código PHP:
<?php

$wer 
$_POST['T1'];

foreach(
explode("\n"$wer) as $war)

{
    echo 
strlen($war)."\n";
    echo 
'<br>';

}


?>

RESULTADO:


6
4
3

Solo el ultimo que no contiene salto de linea da el valor de longitud correcto.
¿Como puedo solucionar esto?
  #2 (permalink)  
Antiguo 06/12/2015, 19:58
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: Funcion php STRLEN cuenta el salto de linea

Recuerda que los saltos de linea también son caracteres, ¿por qué habrías de estar mal?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/12/2015, 17:49
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 11 meses
Puntos: 20
Respuesta: Funcion php STRLEN cuenta el salto de linea

Hola amigo, tendrías q limpiar primero tu cadena
Algo como esto:

Código PHP:
Ver original
  1. $wer = $_POST['T1'];
  2.  
  3. foreach(explode("\n", $wer) as $war)
  4.  
  5. {
  6.     $lng = trim($war);
  7.     echo strlen($lng)."\n";
  8.     echo '<br>';
  9.  
  10. }

Es lo q se me ocurre :P
  #4 (permalink)  
Antiguo 11/12/2015, 19:52
Avatar de leo_search1  
Fecha de Ingreso: octubre-2011
Mensajes: 100
Antigüedad: 13 años
Puntos: 1
Respuesta: Funcion php STRLEN cuenta el salto de linea

Cita:
Iniciado por german_1441 Ver Mensaje
Hola amigo, tendrías q limpiar primero tu cadena
Algo como esto:

Código PHP:
Ver original
  1. $wer = $_POST['T1'];
  2.  
  3. foreach(explode("\n", $wer) as $war)
  4.  
  5. {
  6.     $lng = trim($war);
  7.     echo strlen($lng)."\n";
  8.     echo '<br>';
  9.  
  10. }

Es lo q se me ocurre :P

Lo que se te ocurre es grandioso, a quedado perfectamente en limpio, gracias por tu ayuda, te doy muchos puntos
  #5 (permalink)  
Antiguo 12/12/2015, 02:00
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 11 años, 5 meses
Puntos: 25
Respuesta: Funcion php STRLEN cuenta el salto de linea

Cita:
Iniciado por pateketrueke Ver Mensaje
Recuerda que los saltos de linea también son caracteres, ¿por qué habrías de estar mal?
La teoria dice, que si haces un explode usando el salto de linea como separador "\n", no debería devolverte en el array resultante ningún salto de linea... de hay el problema de nuestro compañero.

Yo creo que seguramente este ejecutando o consultando un archivo desde Windows, y ahí los saltos de linea realmente son "\r\n", y al hacer el explode con "\n", aun quede el "\r".

Pero vamos la solución con un trim, es bastante comodo, no sabía que se comía este tipo de caracteres. Yo lo usaba solo para quitar espacios.

Etiquetas: funcion, longitud, salto
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 17:49.