Foros del Web » Programando para Internet » PHP »

Mostrar datos por separado de una Cadena

Estas en el tema de Mostrar datos por separado de una Cadena en el foro de PHP en Foros del Web. He leido en varios post pero no he podido entender exactamente como puedo hacer este caso y me gustaria que me ayudaran o me orientaran ...
  #1 (permalink)  
Antiguo 29/09/2012, 14:07
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 13 años, 6 meses
Puntos: 0
Mostrar datos por separado de una Cadena

He leido en varios post pero no he podido entender exactamente como puedo hacer este caso y me gustaria que me ayudaran o me orientaran un poco.
Lo que intento hacer es que de una cadena pueda separar los datos y mostrarlos en un ipunt text.
Digamos que mi cadena es la siguiente:

Código PHP:
$cadena="Nombre: Manuel Alejandro, volumen: 1, tomo: 2, folio: 3"
Lo que intento hacer es que se pueda separar los datos
"Nombre: Manuel Alejandro"
"volumen: 1"
"tomo: 2"
"folio: 3"

Colocando solo los valores en un input text de la siguiente manera.
Nombre: [ Manuel Alejandro ]
volumen: [ 1 ]
tomo: [ 2 ]
folio: [ 3 ]
  #2 (permalink)  
Antiguo 29/09/2012, 14:25
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar datos por separado de una Cadena

Primero y principal lo mejor seria utilizar un delimitador que no sea la coma (,) porque es algo que se utiliza mucho, lo que puedes utilizar es el %% (Dos veces el signo de porcentaje), una vez hecho esto haces un explode() y listo

Código PHP:
Ver original
  1. <?php
  2. $cadena = $cadena="Nombre: Manuel Alejandro, volumen: 1, tomo: 2, folio: 3";
  3. $separado = explode(',',$cadena);
  4. // Recorremos el array creado con explode
  5. foreach($separado as $m){
  6.     echo $m."<br />";
  7. }
  8. ?>
  #3 (permalink)  
Antiguo 29/09/2012, 14:40
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Mostrar datos por separado de una Cadena

Esta excelente amigo, solo una duda más. Digamos que quiero asignarle una variable a cada una de las partes. Es decir que por ejemplo a la parte que dice "Nombre: Manuel Alejandro" se le asigne de la siguiente forma: $Nombre="Nombre: Manuel Alejandro";

Quedando la cadena partida en varias variables...

$cadena="Nombre: Manuel Alejandro, volumen: 1, tomo: 2, folio: 3";

$Nombre="Nombre: Manuel Alejandro";
$volumen="volumen 1";
$tomo="tomo: 2";
$folio="folio: 3";

De antemano muchas gracias.
  #4 (permalink)  
Antiguo 29/09/2012, 15:13
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar datos por separado de una Cadena

Cita:
Iniciado por aldeckham Ver Mensaje
Esta excelente amigo, solo una duda más. Digamos que quiero asignarle una variable a cada una de las partes. Es decir que por ejemplo a la parte que dice "Nombre: Manuel Alejandro" se le asigne de la siguiente forma: $Nombre="Nombre: Manuel Alejandro";

Quedando la cadena partida en varias variables...

$cadena="Nombre: Manuel Alejandro, volumen: 1, tomo: 2, folio: 3";

$Nombre="Nombre: Manuel Alejandro";
$volumen="volumen 1";
$tomo="tomo: 2";
$folio="folio: 3";

De antemano muchas gracias.
Con explode te asigna un array numerico

$separado[0] va a ser igual a nombre
$separado[1] va a ser igual a volumen

ect
  #5 (permalink)  
Antiguo 29/09/2012, 16:17
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Mostrar datos por separado de una Cadena

Muchas gracias marcofbb, me fue de mucha utilidad tu aportación. Para inexpertos como yo dejo el codigo de como quedaría. Quizas pueda ayudar a alguien con la misma duda.

Código PHP:
<?php
    $cadena
="Nombre: Manuel Alejandro, volumen: 1, tomo: 2, folio: 3";
   list(
$Nombre,$volumen,$tomo,$folio) = explode(",",$cadena);

echo 
"$Nombre<br />"
echo 
"$volumen<br />"
echo 
"$tomo<br />"
echo 
$folio
    
?>
  #6 (permalink)  
Antiguo 30/09/2012, 03:45
Avatar de shaggyz  
Fecha de Ingreso: mayo-2008
Mensajes: 43
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: Mostrar datos por separado de una Cadena

También lo podrías hacer así, menos variables, menos memoria:

Código PHP:
Ver original
  1. echo str_ireplace(',', '< br/>', $cadena);

Etiquetas: separado, cadenas
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 22:30.