Php RSS Okuma
-
http://www.gamespot.com/feeds/reviews/
Bu adresteki <media:content içindeki url adresini curl ile çekmeyi bir türlü beceremedim.
Kodlar:
$curlc = curl_init("http://www.gamespot.com/feeds/reviews/"); curl_setopt($curlc, CURLOPT_RETURNTRANSFER, true); $veri=curl_exec($curlc); curl_close($curlc); $doc=new SimpleXmlElement($veri,LIBXML_NOCDATA); if (isset($doc->channel)) { parseRSS($doc); } function parseRSS($xml) { foreach ($xml->channel->item as $item) { echo $item->media."<br>"; } }
-
<? function curl($Url){ if (!function_exists('curl_init')){ die('Sorry cURL is not installed!'); } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $Url); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $output = curl_exec($ch); curl_close($ch); return str_replace(array("\n","\r","\t"), null, $output); } $cek = curl("http://www.gamespot.com/feeds/reviews/"); preg_match_all('@<media:content url="(.*?)" type=".*?" width=".*?" height=".*?" />@si',$cek,$media); print_r($media); ?>
-
edminkardes bunu yazdı
<? function curl($Url){ if (!function_exists('curl_init')){ die('Sorry cURL is not installed!'); } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $Url); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $output = curl_exec($ch); curl_close($ch); return str_replace(array("\n","\r","\t"), null, $output); } $cek = curl("http://www.gamespot.com/feeds/reviews/"); preg_match_all('@@si',$cek,$media); print_r($media); ?>
Teşekkür ederim hocam.Yanlız şu kısmı "
preg_match_all(
'@<media:content url="(.*?)" type=".*?" width=".*?" height=".*?" />@si'
,
$cek
,
$media
);
" biraz açıklarsan sevinirim.Php ye yeni başladığımdan pek bilgim yok :) -
mstfcn bunu yazdıedminkardes bunu yazdı
<? function curl($Url){ if (!function_exists('curl_init')){ die('Sorry cURL is not installed!'); } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $Url); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $output = curl_exec($ch); curl_close($ch); return str_replace(array("\n","\r","\t"), null, $output); } $cek = curl("http://www.gamespot.com/feeds/reviews/"); preg_match_all('@@si',$cek,$media); print_r($media); ?>
Teşekkür ederim hocam.Yanlız şu kısmı "
preg_match_all(
'@@si'
,
$cek
,
$media
);
" biraz açıklarsan sevinirim.Php ye yeni başladığımdan pek bilgim yok :)önemli değil hocam stringi parçalıyorum orda aradığım linki buluyorum parantez içine aldığım geri dönüş parametresi oluyor aslında googleda "php düzenli ifadeler" diye aratırsan daha fazla sonuca ulaşırsın bir şeyleri açıklamada sıkıntı çekiyorum
-
@edminkardes Tekrar teşekkürler.Ben bi araştırayım.
-
Yeni konu açmak istemedim.Sorunum şöyle;
Veritabanına veri ekleniyor.Fakat success bir türlü çalışmadı.Sürekli hataya düşüyor.
Chrome da bu hatayı:"Uncaught SyntaxError: Unexpected token" veriyor.
Firefox da bu hatayı:"SyntaxError: expected expression, got '<' " veriyor.var degerler = $("#frmm").serialize(); $.ajax({ type: "post", url: "cnt.php", data : degerler, dataType: "json", success : function(cvp){ if (cvp=='ok') { alert("tamam"); } else if(cvp=='hata') { alert("hata"); } }, error: function(xhr, status, error) { var err = eval("(" + xhr.responseText + ")"); alert(err.Message); } }); } });
Not:Şeyh 5. satıdaki sorunu görmüşsündür.Onu bi düzeltirsen iyi olur :)
motka tarafından 20/Tem/15 00:04 tarihinde düzenlenmiştir