Foros del Web » Programando para Internet » PHP »

problema con preg_match - preg_match_all

Estas en el tema de problema con preg_match - preg_match_all en el foro de PHP en Foros del Web. Saludos amigos, tengo el siguiente problema, aun estoy verde en php, solo lo hago por aficion. Estoy almacenando en una base de datos capitulos de ...
  #1 (permalink)  
Antiguo 07/02/2010, 09:44
 
Fecha de Ingreso: febrero-2010
Mensajes: 23
Antigüedad: 14 años, 2 meses
Puntos: 1
problema con preg_match - preg_match_all

Saludos amigos, tengo el siguiente problema, aun estoy verde en php, solo lo hago por aficion. Estoy almacenando en una base de datos capitulos de series con sus nombres y enlaces. pero tengo que hacer de manera manual, por lo cual me he propuesto crear un codigo que lo haga por mi, la idea esta, a medias, pero esta.. Les muestro donde surge mi problema...
Código PHP:
$url="http://www.seriesyonkis.com/temporada/a-dos-metros-bajo-tierra/101/";
$ch curl_init($url);
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
$content curl_exec ($ch);
curl_close ($ch);



if(
preg_match('#(<li class="page_item"><h5>)(.*)#i'$content$resultados))
{


    
$res$resultados[1] . $resultados[2];
    
//$capitulos = explode("</a></h5></li>", $res);
    //$total = count($capitulos);
    
print $res;

En este fragmento del codigo le indico a la funcion CURL cual es la url donde esta la info de los capitulos, mediante un preg_match extraigo la info que me interesa, quedandome la variable $res, de esta manera..
Código PHP:
<li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/capitulo-1/1926/" title="Piloto">A Dos Metros Bajo Tierra 1x01 Piloto</a></h5></li><li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/capitulo-2/1930/" title="El Testamento">A Dos Metros Bajo Tierra 1x02 El Testamento</a></h5></li><li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/capitulo-3/1957/" title="El Pie">A Dos Metros Bajo Tierra 1x03 El Pie</a></h5></li><li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/familia/15873/" title="Familia">A Dos Metros Bajo Tierra 1x04 Familia</a></h5></li><li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/capitulo-5/2976/" title="Un libro abierto">A Dos Metros Bajo Tierra 1x05 Un libro abierto</a></h5></li><li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/la-habitacion/15941/" title="La Habitación">A Dos Metros Bajo Tierra 1x06 La Habitación</a></h5></li><li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/hermandad/27939/" title="Hermandad">A Dos Metros Bajo Tierra 1x07 Hermandad</a></h5></li><li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/cruce-de-caminos/27940/" title="Cruce de caminos">A Dos Metros Bajo Tierra 1x08 Cruce de caminos</a></h5></li><li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/capitulo-9/2445/" title="La vida es demasiado corta">A Dos Metros Bajo Tierra 1x09 La vida es demasiado corta</a></h5></li><li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/la-nueva-persona/27941/" title="La nueva persona">A Dos Metros Bajo Tierra 1x10 La nueva persona</a></h5></li><li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/capitulo-11/2664/" title="El viaje">A Dos Metros Bajo Tierra 1x11 El viaje</a></h5></li><li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/capitulo-12/2879/" title="Una vida privada">A Dos Metros Bajo Tierra 1x12 Una vida privada</a></h5></li><li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/capitulo-13/2877/" title="¿Quien llama?">A Dos Metros Bajo Tierra 1x13 ¿Quien llama?</a></h5></li></ul
es aqui donde ya no se que hacer, quiero que por cada href me almacene por ejemplo $link[0] (solo el link sin comillas ni nada.) y en la variable $titulodelcapitulo lo que esta entre title="loquesea"> y el </a>.... estoy tratando con preg_match y preg_match_all pero no lo doy hecho, pueden orientarme un poco por favor, de antemano Gracias..

  #2 (permalink)  
Antiguo 07/02/2010, 11:07
 
Fecha de Ingreso: febrero-2010
Mensajes: 23
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: problema con preg_match - preg_match_all

Nadie me ayuda??
  #3 (permalink)  
Antiguo 07/02/2010, 11:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con preg_match - preg_match_all

primero.... por favor, evita repetir temas...

almacenar contenidos en variables, ayuda Plzz

segundo, para extraer mas información puedes utilizar mas expresiones regulares... si quieres ahora el href usa simplemente esto:
Cita:
/href="(.+?)"/
así de fácil, aprende a usar expresiones... lee lo siguiente:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/

Cita:
Iniciado por ItzKrlos Ver Mensaje
Nadie me ayuda??
ayuda donde, ¿aquí o en tu tema repetido??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 07/02/2010, 11:32
 
Fecha de Ingreso: febrero-2010
Mensajes: 23
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: problema con preg_match - preg_match_all

Gracias por responder, lo abri por que de verdad necesito la ayuda... Pido disculpas, si puedes cierra el tema anterior porfa, y si pudieras aclararme un poco mas tu respuesta te lo agradeceria... Gracias y perdon.
  #5 (permalink)  
Antiguo 07/02/2010, 11:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con preg_match - preg_match_all

es que es así de simple... ya has usado una expresión anteriormente, con la cual obtienes los fragmentos de HTML que describes... cierto??

bueno, pues así de fácil... necesitas aplicar otra expresión a dichos resultados, para obtener los demás datos que precisas...

si de verdad entiendes el concepto comprenderás sin problemas, si no... por favor, lee alguna referencia... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 07/02/2010, 11:53
 
Fecha de Ingreso: febrero-2010
Mensajes: 23
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: problema con preg_match - preg_match_all

Si, entiendo, pero como las expresiones regulares no me caben en la cabeza (por mas que trato) ya pude obtener lo que son lo href, quedandome algo asi
Código PHP:
href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/capitulo-1/1926/"
href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/capitulo-2/1930/"
href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/capitulo-3/1957/" 
Pero ahora trato de obtener de la misma manera el titulo pero no lo hace, imagino que la expresion regular variara, si puedieras decirme te lo agradeceria, en concreto lo que quiero extraer es esto... Extraer de aca title="Piloto">A Dos Metros Bajo Tierra 1x01 - Piloto</a></h5> el texto A Dos Metros Bajo Tierra 1x01 - Piloto.. gracias de antemano.
  #7 (permalink)  
Antiguo 07/02/2010, 12:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con preg_match - preg_match_all

claro, en dado caso puedes capturar tanta información como necesites... ;)

Cita:
/href="(.+?)"\s+title="(.+?)"/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 07/02/2010, 12:11
 
Fecha de Ingreso: febrero-2010
Mensajes: 23
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: problema con preg_match - preg_match_all

vale, perdona la insistencia, ya las urls las tengo cada una en sus variables, pero ahora lo que necesito no es lo que tu dices, mira, de este texto, solo quiero extraer lo que esta en negrita: <li class="page_item"><h5><a href="http://www.seriesyonkis.com/capitulo/a-dos-metros-bajo-tierra/capitulo-1/1926/" title="Piloto">A Dos Metros Bajo Tierra 1x01 - Piloto</a></h5></li> solo eso me falta por hacer.. gracias, una saludo
  #9 (permalink)  
Antiguo 07/02/2010, 12:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con preg_match - preg_match_all

en si, una expresión regular es mas análisis y reflexión que programación...

si dices que solo quieres lo que hay dentro del enlace, osea el texto:
Cita:
/<a[^>]*>(.+?)<\/a>/is
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 07/02/2010, 12:18
 
Fecha de Ingreso: febrero-2010
Mensajes: 23
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: problema con preg_match - preg_match_all

Gracias por tu ayuda, de verdad te lo agradezco.

Etiquetas: Ninguno
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:36.