Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/01/2011, 15:11
cyber_dark
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 13 años, 10 meses
Puntos: 3
Problema con preg_match en curl

El otro día navegando me llamo mucho la atención este tema: http://www.forosdelweb.com/f18/problema-con-preg_match-preg_match_all-776220/ pero como ya tiene más de 6 meses abri otro, para consultar unas dudas.

Utilizo el mismo codigo que el:

Código:
$url="http://www.seriesyonkis.com/temporada/a-dos-metros-bajo-tierra/101/"; 
$ch = curl_init($url); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
$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; 
}
Y se imprime para todos los capitulos:

Código:
<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>
Pero quisiera solo el nombre en el ejemplo anterior seria Piloto y uso esto:

Código:
<?php

$url="http://www.seriesyonkis.com/temporada/a-dos-metros-bajo-tierra/101/"; 
$ch = curl_init($url); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
$content = curl_exec ($ch); 
curl_close ($ch); 


$res=" ";
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); 
   
} 



$res2=" ";
if(preg_match('#(- )(.*)#i', $res, $resultados)) 
{ 


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




$res3=" ";
if(preg_match('#( )(.*)#i', $res2, $resultados)) 
{ 


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

echo"$res3";


?>

Si muestra lo que quiero pero solo el el primer episodio en los demas sale:


Código:
<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>
Me imagino que el preg_match tengo un error en la forma en que lo utilizo o no se, espero puedan ayudarme saludos