Autor Tema: convertir string a un array por sus saltos de linea PHP  (Leído 19281 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Kibalam

  • The Communiter-
  • *
  • Mensajes: 1612
convertir string a un array por sus saltos de linea PHP
« : septiembre 30, 2010, 10:54:44 am »
Hola amigos communiter una pregunta..

estoy trantado de hacer lo que dice en el titulo... separa un string por sus saltos de linea.

Datos:
  • El string lo estoy tomando de un textare de un formularo
  • ya hice pruebas con las funciones Split, str_split, explode y o no las estoy usando bien o existe otra forma de hacerlo...

lo que estoy haciendo

Código: [Seleccionar]
<?php 
if(isset($_POST['texto']))
{
$texto explode("\n "$_POST['texto']);}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <textarea name="texto" id="texto"></textarea>
  <input type="submit" name="button" id="button" value="Enviar" />
</form>
<?php 
foreach ($texto as $indice => $valor)
{

      echo 
"Linea ".$indice."  Con el valor: ".$valor;
}
 
?>

</body>
</html>

bueno y todo lo pone en una sola linea :( ... no se como separarlo
« Última Modificación: septiembre 30, 2010, 11:58:13 am por Ilidan »
"Esperar que la vida te trate bien porque seas buena persona es como esperar que un toro no te ataque porque seas vegetariano"

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
Re: convertir string a un arrar por sus saltos de linea PHP
« Respuesta #1 : septiembre 30, 2010, 11:11:14 am »
vos estas haciendo esto:
{$texto = explode("\n ", $_POST['texto']);}

al nomas verlo la \n lleva un espacio

deberia ir asi:


{$texto = explode("\n", $_POST['texto']);}
 
si no te funciona asi, proba "\r\n"
N/A

Desconectado Kibalam

  • The Communiter-
  • *
  • Mensajes: 1612
Re: convertir string a un arrar por sus saltos de linea PHP
« Respuesta #2 : septiembre 30, 2010, 11:12:25 am »
Hola amigos communiters...

bueno ya encontre forma de hacerlo  :yahoo: ...

lo quise fue usar la función nl2br ...

lo que hace esta funcion agregar un <br> antes de cada linea del string que le pasas.. y asi lo puedo usar con el explode y ya tratarlo como el array que deseaba...

aca como quedo funcional

Código: [Seleccionar]
<?php 
if(isset($_POST['texto']))
{
$texto nl2br($_POST['texto']);
$texto explode("<br />",$texto);
}


?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <textarea name="texto" id="texto"></textarea>
  <input type="submit" name="button" id="button" value="Enviar" />
</form>
<?php 
foreach ($texto as $indice => $valor)
{
echo "Linea ".$indice."  Con el valor: ".$valor."<br />";
}
 
?>

</body>
</html>

EDIT-- 

gracias naruto...  pero fijate que ya intente incluso sin el espacio que ahi por error se me fue pero sin la funcion no me daba nada :(
« Última Modificación: septiembre 30, 2010, 11:14:31 am por Ilidan »
"Esperar que la vida te trate bien porque seas buena persona es como esperar que un toro no te ataque porque seas vegetariano"

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: convertir string a un array por sus saltos de linea PHP
« Respuesta #3 : septiembre 30, 2010, 12:26:39 pm »
Es \r\n para los newlines man no basta con \n


<html>
<
body>
<
form method="post">
<
textarea name="el_texto" ></textarea>
<
input type="submit" value="enviar">
</
form>
</
body>
</
html>
<?
php
print_r
($_POST);
if (isset(
$_POST["el_texto"])){
$partido explode("\r\n",$_POST["el_texto"]);
print_r($partido);
}
?>


Código: [Seleccionar]
Array ( [el_texto] => abcd otra linea ultima linea fin )
Array ( [0] => abcd [1] => otra linea [2] => ultima linea [3] => fin )


Desconectado Kibalam

  • The Communiter-
  • *
  • Mensajes: 1612
Re: convertir string a un array por sus saltos de linea PHP
« Respuesta #4 : octubre 01, 2010, 08:40:07 am »
Hola man..

fijate que lo intente pero por una diabolica razón que desconosco no me funciona  :-/  ...

pero gracias por todo...  :sur:
"Esperar que la vida te trate bien porque seas buena persona es como esperar que un toro no te ataque porque seas vegetariano"