Php parse_url() fonksiyonunu yazacağım bugün, parse_url() fonksiyonunu PHP4 ve üstü sürümler desteklemektedir. Bu fonksiyon ile istediğimiz adresi scheme,host,path,query gibi parçalara ayırmamız mümkün, geçenlerde bir proje için youtube video adresinin watch?v=* değerini almam gerekti, klasik string işlemler yerine parse_url() fonksiyonunu kullandım ve acayip keyif aldım. Fonksiyonun kullanımına geçelim şimdi;
<?php $url = 'http://www.youtube.com/watch?v=RQieoqCLWDo&feature=relmfu'; $arr = parse_url($url); print_r($arr); ?>
Çıktısı: Array ( [scheme] => http [host] => www.youtube.com [path] => /watch [query] => v=RQieoqCLWDo&feature=relmfu )
olacaktır. Şimdi de Query değerlerini nasıl alabiliriz ona bakalım;
<?php $url = 'http://www.youtube.com/watch?v=RQieoqCLWDo&feature=relmfu'; $parts = parse_url($url); $query = array(); parse_str($parts['query'], $query); echo "v= " . $query['v']."<br>"; echo "feature= " . $query['feature']; ?>
gördüğümüz gibi http://www.youtube.com/watch?v=RQieoqCLWDo&feature=relmfu adresinin sadece query değerlerini almış olduk, çıktısı;
v= RQieoqCLWDo
feature= relmfu
İyi çalışmalar dilerim.
paylaşım için teşekkürler, classic string yerine çok daha kullanışlı ve kolay.
Yazan mustafa | Tarih : 29 Nisan 2014 , Salı 13:41
Emeğine sağlık, çok basit ve anlaşılır anlatmışsın
Yazan Muhammed | Tarih : 10 Haziran 2014 , Salı 00:02
what next??
Yazan redo | Tarih : 28 Mart 2015 , Cumartesi 10:00
hocam peki tek link değilde birden fazlaysaysa nasıl olacak ? yani 5-6 tane youtube linki olsaydı nasıl yapacaktık ? bne denedimde tek değer alabilir hatası veriyor ..
Yazan qıral | Tarih : 3 Ocak 2016 , Pazar 09:46