Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Extraer los 2 numeros de una cadena y convertirla en variable

Estas en el tema de Extraer los 2 numeros de una cadena y convertirla en variable en el foro de PHP en Foros del Web. Hola que tal amigos estoy haciendo una pagina de series y tengo un problema para ingresar los links de forma mas rapida a la base ...
  #1 (permalink)  
Antiguo 26/06/2015, 13:31
 
Fecha de Ingreso: agosto-2004
Ubicación: Medellin
Mensajes: 11
Antigüedad: 19 años, 8 meses
Puntos: 0
Extraer los 2 numeros de una cadena y convertirla en variable

Hola que tal amigos estoy haciendo una pagina de series y tengo un problema para ingresar los links de forma mas rapida a la base de datos espero y me puedan ayudar me gustaria saber como le puedo hacer para obtener este resultado

$cadena='1x01:http://linkdelhost.com';

y que me de el resultado asi

$temporada='1';
$capitulo='01';
$link='http://linkdelhost.com';

cabe mencionar que eh tratado la opcion de substr() para sacar los primero valores el 1 y el 01 pero al momento de llegar al 1x100 el resultado solo me lo daba asi 1x10 no me daba todo el numero de 100 lo mismo pasa es cuando llego a lo que seria la temporada 10 solo me arrojaba el numero 1 ojala me puedan ayudar un saludo chao
  #2 (permalink)  
Antiguo 26/06/2015, 13:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Extraer los 2 numeros de una cadena y convertirla en variable

Prueba con explode(), es más fácil.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/06/2015, 13:44
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Extraer los 2 numeros de una cadena y convertirla en variable

Te sugiero usar un separador diferente, algo como:

Código:
1x01|http://blablabla.com
Solo necesitas la función explode() para separarlos y list() para crear las variables:

Código PHP:
Ver original
  1. // Separas temporadaxcapítulo y enlace:
  2. list($temp_cap, $enlace) = explode($cadena, '|');
  3.  
  4. // Luego separas temporada y capítulo:
  5. list($temp, $cap) = explode($temp_cap, 'x');
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 26/06/2015, 13:47
 
Fecha de Ingreso: agosto-2004
Ubicación: Medellin
Mensajes: 11
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: Extraer los 2 numeros de una cadena y convertirla en variable

Cita:
Iniciado por Triby Ver Mensaje
Te sugiero usar un separador diferente, algo como:

Código:
1x01|http://blablabla.com
Solo necesitas la función explode() para separarlos y list() para crear las variables:

Código PHP:
Ver original
  1. // Separas temporadaxcapítulo y enlace:
  2. list($temp_cap, $enlace) = explode($cadena, '|');
  3.  
  4. // Luego separas temporada y capítulo:
  5. list($temp, $cap) = explode($temp_cap, 'x');

Muchas gracias voy a tratar de hacer eso saludos
  #5 (permalink)  
Antiguo 26/06/2015, 14:17
 
Fecha de Ingreso: agosto-2004
Ubicación: Medellin
Mensajes: 11
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: Extraer los 2 numeros de una cadena y convertirla en variable

Cita:
Iniciado por Triby Ver Mensaje
Te sugiero usar un separador diferente, algo como:

Código:
1x01|http://blablabla.com
Solo necesitas la función explode() para separarlos y list() para crear las variables:

Código PHP:
Ver original
  1. // Separas temporadaxcapítulo y enlace:
  2. list($temp_cap, $enlace) = explode($cadena, '|');
  3.  
  4. // Luego separas temporada y capítulo:
  5. list($temp, $cap) = explode($temp_cap, 'x');
Amigo me muestra un error

Código PHP:

<?php 

$cadena 
"1x01|http://cualquierlink.com";


    
// Separas temporadaxcapítulo y enlace:
    
list($temp_cap$enlace) = explode($cadena'|');
     
    
// Luego separas temporada y capítulo:
    
list($temp$cap) = explode($temp_cap'x');
    
    
    echo 
$enlace;
    echo 
'<br>';
    echo 
$temp;
    echo 
'<br>';
    echo 
$cap;





?>
asi me arroja el resultado

Notice: Undefined offset: 1 in C:\Program Files (x86)\EasyPHP-12.1\www\linkmass.php on line 7

Notice: Undefined offset: 1 in C:\Program Files (x86)\EasyPHP-12.1\www\linkmass.php on line 10

x
  #6 (permalink)  
Antiguo 26/06/2015, 14:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Extraer los 2 numeros de una cadena y convertirla en variable

El orden de los argumentos de explode() está al revés, primero es el separador y luego la cadena.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 26/06/2015, 14:34
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Extraer los 2 numeros de una cadena y convertirla en variable

Prueba de esta manera:

Código PHP:
Ver original
  1. <?php
  2. $cadena = "1x01|http.gogle.com";
  3.  
  4.     list($capitulo, $link) = explode("|", $cadena);
  5.    
  6.     list($separa1, $separa2) = explode("x", $cadena);
  7.    
  8.     echo $capitulo;
  9.     echo "<br>";
  10.     echo $link;
  11.     echo "<br>";
  12.     echo $separa1;
  13. ?>

lo probe y funciono
  #8 (permalink)  
Antiguo 26/06/2015, 14:53
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Extraer los 2 numeros de una cadena y convertirla en variable

otra opcion es usar un solo separador para todo:

Código PHP:
Ver original
  1. <?php
  2. $cadena = "1:01:http.gogle.com:Serie animada de Disney";
  3.  
  4.     list($temporada, $capitulo, $link, $descripcion) = explode(":", $cadena);
  5.    
  6.     $msg1 = $temporada;
  7.     $msg2 = $capitulo;
  8.     $msg3 = $link;
  9.     $msg4 = $descripcion;
  10. ?>

Muestro los datos en pantalla:
Código HTML:
Ver original
  1. <!doctype html>
  2. <meta charset="utf-8">
  3. <title>Documento sin título</title>
  4.  
  5. </head>
  6.  
  7. <b>Temporada:</b> <?php echo $msg1 ?>
  8. <br>
  9. <b>Capitulo:</b> <?php echo $msg2 ?>
  10. <br>
  11. <b>Descripcion:</b> <?php echo $msg4 ?>
  12. <br>
  13. <a href="<?php echo $msg3 ?>">Descarga</a>
  14.  
  15. </body>
  16. </html>
  #9 (permalink)  
Antiguo 26/06/2015, 16:11
 
Fecha de Ingreso: agosto-2004
Ubicación: Medellin
Mensajes: 11
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: Extraer los 2 numeros de una cadena y convertirla en variable

Cita:
Iniciado por pateketrueke Ver Mensaje
El orden de los argumentos de explode() está al revés, primero es el separador y luego la cadena.

Gracias amigo por tus respuestas
  #10 (permalink)  
Antiguo 26/06/2015, 16:13
 
Fecha de Ingreso: agosto-2004
Ubicación: Medellin
Mensajes: 11
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: Extraer los 2 numeros de una cadena y convertirla en variable

Cita:
Iniciado por xfxstudios Ver Mensaje
Prueba de esta manera:

Código PHP:
Ver original
  1. <?php
  2. $cadena = "1x01|http.gogle.com";
  3.  
  4.     list($capitulo, $link) = explode("|", $cadena);
  5.    
  6.     list($separa1, $separa2) = explode("x", $cadena);
  7.    
  8.     echo $capitulo;
  9.     echo "<br>";
  10.     echo $link;
  11.     echo "<br>";
  12.     echo $separa1;
  13. ?>

lo probe y funciono
Si exacto gracias lo pude solucionar ya :)


Código PHP:

<?php 

$cadena 
"1x100|http.gogle.com";
 
    list(
$capitulo$link) = explode("|"$cadena);
    
    list(
$separa1$separa2) = explode("x"$capitulo);
    
   
    echo 
$link;
    echo 
"<br>";
    echo 
$separa1;
    echo 
"<br>";
    echo 
$separa2;


?>
Salida

Link: http.gogle.com
Temporada: 1
Capitulo: 01

Etiquetas: cadena, numeros, variable
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 21:34.