mercredi 25 janvier 2012

PHP: Získat obsah webové stránky, RSS feed nebo XML soubor do řetězcové proměnné

You will often have the need to access data that resides on another server, whether you are writing an online RSS aggregator or doing screen scraping for a searching mechanism. PHP makes pulling this data into a string variable an extremely simple process.

You can go with the really short method:

$url = "http://www.howtogeek.com";

$str = file_get_contents($url);

 

The only problem with that method is that some web hosts have url access blocked in the file methods, for security reasons. You may be able to use this workaround method instead:

function get_url_contents($url){         $crl = curl_init();         $timeout = 5;         curl_setopt ($crl, CURLOPT_URL,$url);         curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);         curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);         $ret = curl_exec($crl);         curl_close($crl);         return $ret; }

You should now have the contents of the website in a string variable. Note that this doesn't pull down the supporting files such as javascript or CSS. You will have to further parse the page and retrieve those seperately if you need the whole thing.

Aucun commentaire:

Enregistrer un commentaire