Daha önce buradaki yazımda PHP ile YouTube linklerinden videolarının bilgilerini almayı açıklamıştım. Şimdi aynı şeyi DailyMotion’da anlatmanın sırası geldi. Olay DailyMotion’un verilen bir video linkinden o videonun başlığını, açıklamasını, videonun resmini eltmek. Yeni projemde bu tip bir olayla karşılaşınca araştırma yaptım, çeşitli kodlar denedim ve sonunda oluşturduğum sentez PHP fonksiyonla bu işlemlerin hepsini yapabilecek duruma geldim.
function dailymotionParse($url)
{
$vidparser = parse_url($url);
$video['id'] = substr($vidparser['path'], 7);
$urlXML = "http://www.dailymotion.com/atom/video/". $video['id'];
$dailyValue = $this->xml2array($urlXML);
if( $dailyValue == null)
$video['works']="NO";
else
{
preg_match_all("/<\s*img [^\>]*src\s*=\s*[\"\"']?([^\"\\'\s>]*)/i", $dailyValue['feed']['entry']['summary'], $dailyImg);
preg_match_all("/(<p.*>)(\w.*)(<\/p>)/ismU", $dailyValue['feed']['entry']['summary'], $dailyDesc);
$video['img'] = $dailyImg[1][0];
$video['title'] = $dailyValue['feed']['entry']['title'];
$video['desc'] = $this->limit_words( strip_tags( $dailyDesc[0][0] ), 15 );
}
return $video;
}
Öncelikle bu fonksiyonun çalışması için 6. satırdaki xml2array() fonksiyonunun da kodlarınız arasında olması gerekir. Bu fonksiyon php.net’ten bulduğum herhangi bir XML’i PHP arraya dönüştüren fonksiyondan birisi. Bu fonksiyonu diğer XML veriler için de kullanabilirsiniz.
Kendi geliştirdiğiniz uygulamanızda kullanıcılarınızın veya sizin gireceğiniz YouTube linkinden(örnek: http://www.youtube.com/watch?v=0peX66dC6Sk) o videonun başlığını, açıklamasını, videonun resmini elde edip bunu kullanmak isteyebilirsiniz. Yeni projemde bu tip bir olayla karşılaşınca araştırma yaptım, çeşitli kodlar denedim ve sonunda oluşturduğum sentez PHP fonksiyonla bu işlemlerin hepsini yapabilecek duruma geldim.
function youtubeParse($url)
{
$vidparser = parse_url($url);
$video['id'] = substr($vidparser['query'], 2);
$urlXML = "http://gdata.youtube.com/feeds/api/videos/". $video['id'];
$youtubeValue = xml2array($urlXML);
if( $youtubeValue == null)
$video['works']="NO";
else
{
$video['title'] = iconv("UTF-8", "ISO-8859-9", $youtubeValue['entry']['title']);
$desc = $youtubeValue['entry']['content'];
$video['img'] = "http://img.youtube.com/vi/" . $video['id'] . "/1.jpg";
$video['desc'] = $this->limit_words(iconv("UTF-8", "ISO-8859-9", $desc), 15);
}
return $video;
}
Öncelikle bu fonksiyonun çalışması için 6. satırdaki xml2array() fonksiyonunun da kodlarınız arasında olması gerekir. Bu fonksiyon php.net’ten bulduğum herhangi bir XML’i PHP arraya dönüştüren fonksiyondan birisi. Bu fonksiyonu diğer XML veriler için de kullanabilirsiniz. (daha fazla…)
Kategori: Asp/Asp.Net
19 Kas 2009
Sürekli PHP’de kod yazinca insan PHP fonksiyonlarina asina oluyor. Tabi ondan sonra dönüp ASP kod yazmasi gerektigi zaman durum oldukça kötü oluyor. 2009 yilinda insanlar neden hala ASP ile kod yaziyor demeyin. Insanin hala ihtiyaci olabiliyor. Asp.NET ile site hazirlamak daha kolay olabilir ama daha masrafli. Sonuç olarak sitede haberleri gösterirken, veritabaninda HTML olarak sakladigim metni etiketlerinden(taglarindan) ayirmam gerekti. Bunu PHP’de strip_tag fonksiyonuyla yapiyorduk ancak eski usül ASP’de karsiligini bulamadim. Ama internette su kodu buldum, umarim isinize yarar.
function strip_tags(unsafeString) dim regEx set regEx = new RegExp with regEx .Global = true .IgnoreCase = true .Pattern = "(\<(/?[^\>]+)\>)" end with strip_tags = regEx.Replace(unsafeString, "") set regEx = nothing end function
Son Yorumlar