Quiero extraer el title de una url con file_get_contents().
En un principio hice esto:
Código PHP:
Ver original
<?php function extraer_title($filtro) { $param = "|<[s]*title[s]*>([^<]+)<[s]*/[s]*title[s]*>|Ui"; return $result[1]; }else{ return false; } } $url= "http://www.url.com"; $title = extraer_title($recorrer); echo $title;
...funcionaba bien pero tenia el problema de q algunas paginas bloqueaban el uso de file_get... y con unos ejemplos del user abimaelrc llegue a esto:
Código PHP:
Ver original
function extraer_title($filtro) { $param = "|<[s]*title[s]*>([^<]+)<[s]*/[s]*title[s]*>|Ui"; return $result[1]; }else{ return false; } } array( 'header' => 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6' . PHP_EOL ) ); $title = extraer_title($page); echo $title;
....luego surgio el problema de q mi pagina web, al hacer uso de esa funcion y de file_get... me cargaba muy lenta y ahi es donde me quede.
Lo ultimo q hice es esto:
Código PHP:
Ver original
array( 'header' => 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6' . PHP_EOL ) ); $doc = new DOMDocument(); @$doc->loadHTML($page); $nodes = $doc->getElementsByTagName('title'); $title = $nodes->item(0)->nodeValue; echo $title;
...pero sigue cargando muy lento todo.
Como lo puedo solucionar?
Gracias.
Saludos.
pero ya te explique. El problema es que tiene que cargar toda la pagina antes de verificar el codigo fuente. Hay una forma de evitar que cargue toda la pagina y lo muestro en uno de los ejemplos.
Asi no nos limitamos en las respuestas. 

