Youtube yid ayrıştırmak için Regex

2 Cevap php

Örnek URL'ler

http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo
http://www.youtube.com/watch?v=cKZDdG9FTKY&feature=channel
http://www.youtube.com/watch?v=yZ-K7nCVnBI&playnext_from=TL&videos=osPknwzXEas&feature=sub
http://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I

Bu kullanım durumları tüm 4'ten doğru Yid çekecek herhangi bir regex? İlk durum, özellikle garip.

Teşekkür ederim.

2 Cevap

(?<=v=)[a-zA-Z0-9-_]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+

Bu çalışıyor. http://i.imgur.com/SQJW2.jpg

Bu değer ne için, bu http://rubular.com/ üzerinde çalıştı

(v=|\/)([\w-]+)(&.+)?$

Bunlar için ikinci yakalama grubunu kapma:

http://www.youtube.com/user/SilkRoadTheatre#p/a/u/2/6dwqZw0j_jY
http://youtu.be/6dwqZw0j_jY
http://www.youtube.com/watch?v=6dwqZw0j_jY&feature=youtu.be
http://youtu.be/afa-5HQHiAs
http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo
http://www.youtube.com/watch?v=cKZDdG9FTKY&feature=channel
http://www.youtube.com/watch?v=yZ-K7nCVnBI&playnext_from=TL&videos=osPknwzXEas&feature=sub
http://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I

(Editör kodu olarak beni sekme URL'leri, üzgünüm yapılan)