• Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha fazla bilgi edin.

php preg_match_all ile ilgili yardım

Konuyu Okuyan Kişiler (0)

Chp

webmaster.tc
Katılım
8 Şub 2013
Mesajlar
38
Beğeniler
0
#1
PHP:
if (preg_match_all ("/youtube.com\/(v\/|watch\?v=|embed\/)([a-zA-Z0-9\-_]*)/", $icerik, $matches, PREG_SET_ORDER)) {
şu şekilde bir kod var arkadaşlar. youtube için görüldüğü gibi.
Kısıtlı php bilgim olduğundan google da uzun uzun araştırdım ancak anlaşılır şekilde yazan bir yerede rastlamadım ve bunun gerçekten google için eksiklik olduğunuda söyleyeyim.
Neyse asıl konumuza geçeyim. Bilgisi olan arkadaşlardan ricam bu kodu biraz değiştirmeleri bana bir iyilik yaparak.
öyleki;
benim linkim

PHP:
http://vk.com/video_ext.php?oid=199793089&id=164563306&hash=4c1c4a6e03ad3642&hd=1
gibi. yani ben bu şekildeki videoların bilgilerini almalıyım oid,id ve hash kısımlarını yani. ve & olan kısımları yalnızca & şekline çevirmem gerekli birde.
youtube linki olunca birazda kafam karıştı doğrusu. v ve watch kısımları fena halde bulandırdı kafamı. zaten olmayan bilgiyle iyice allak bullak etti. bu kodu bahsettiğim linkteki oid,id ve hash kısmını çekecek şekilde nasıl düzenleyebilirim?
 

inforesim

webmaster.tc
Katılım
4 Ağu 2012
Mesajlar
2,439
Beğeniler
0
#2
PHP:
<?php
$adres = "http://vk.com/video_ext.php?oid=199793089&id=164563306&hash=4c1c4a6e03ad3642&hd=1";
preg_match_all("@oid=(.*?)&id=(.*)&hash=(.*?)@",$adres,$m);
print_r($m);
?>
 

Chp

webmaster.tc
Katılım
8 Şub 2013
Mesajlar
38
Beğeniler
0
#3
o parçacığı değiştiremiyorum. yani düzenlemeyi o kod üzerinden bu linke uyarlamam gerekli @inforesim
ama cevabın için teşekkür ederim
 

Chp

webmaster.tc
Katılım
8 Şub 2013
Mesajlar
38
Beğeniler
0
#4
Edit: Çünkü veriler db den okunuyor. ve bu şekilde olan içerik alınıp başka yerde yazdırıyor.
db deki içerik alanında bu linke benzer çok sayıda içerik var. bu içerik içerisinden vk linkli olanları almak için bu kod gerekli.
 

Chp

webmaster.tc
Katılım
8 Şub 2013
Mesajlar
38
Beğeniler
0
#6
PHP:
if (preg_match_all ("/youtube.com\/(v\/|watch\?v=|embed\/)([a-zA-Z0-9\-_]*)/", $icerik, $matches, PREG_SET_ORDER)) {
bu şekilde olan bir preg_match_all işlemi var. youtube linklerindeki id leri alan. ancak benim linkim youtube değil. vk linki. youtubede link
PHP:
http://www.youtube.com/watch?v=t-J1hVGzWro
şeklinde ve bu işlemde v= den sonraki kısmı alıyor id olarak. ancak benim linklerim
PHP:
http://vk.com/video_ext.php?oid=199793089&id=164563306&hash=4c1c4a6e03ad3642&hd=1
şeklinde olduğundan almam gereken 3 adet alan var. oid,id ve hash alanları. db den içerik alanında youtube linki olanların içinden o linklerdeki youtube id lerini alıyor. ancak benim linkleirm youtube değil vk linki.
 

inforesim

webmaster.tc
Katılım
4 Ağu 2012
Mesajlar
2,439
Beğeniler
0
#9
Sen sanırım vk yı playerında oynatmak istiyorsun da, Baştan söyleyeyim vk de ip token var diye biliyorum. Oynamaz yani playerda.