यूट्यूब लिंक के लिए रेगेक्स - PHP, regex, यूट्यूब, preg_match

एक प्रणाली में जिसे मैं विकसित कर रहा हूं मुझे निम्नलिखित प्रारूप में यूट्यूब लिंक को पहचानने की आवश्यकता है

[यूट्यूब] यूट्यूब यूआरएल [/ यूट्यूब]

इस पल के लिए मैं इस नियमित अभिव्यक्ति पर पहुंचा:

#[youtube]http://www.youtube.(.*)/watch?v=([a-zA-Z0-9_-]*)[/youtube]#s

लेकिन यह पैटर्न यूआरएल को पहचानने में सक्षम नहीं है

[यूट्यूब]http://www.youtube.com/watch?v=s3wXkv1VW54&feature=fvst[/youtube]

ध्यान दें सुविधा = fvst

कोई भी संभावित यूट्यूब यूआरएल पहचानने में मेरी मदद कर सकता है?

उत्तर:

उत्तर № 1 के लिए 4

कैसा रहेगा

|[youtube]http://www.youtube.(.*?)/watch?v=([a-zA-Z0-9_-]*)[%&=#a-zA-Z0-9_-]*[/youtube]|s

संपादित करें: केवल वीडियो आईडी को ब्रांड्स के अंदर रखने के लिए रेगेक्स बदल दिया।


उत्तर № 2 के लिए 1

टिप्पणियाँ:
मैं यूआरएल पर एक केस-असंवेदनशील मैच करता हूं (/ i)
। कुछ भी मेल खाता है; उपयोग । यूआरएल से मेल खाने के बजाय
इसके अलावा, "www।" यूट्यूब यूआरएल में वैकल्पिक है।
".com", ".co.uk" से मेल खाने के लिए "। *" के बजाय {। [A-z] +) {1,2} का उपयोग करें, .. "यूट्यूब" के बाद

"और फीचर" भाग मानना ​​वैकल्पिक है, रेगेक्स होगा:

/[youtube]http://(www.)?youtube(.[a-z]+){1,2}/watch?v=([a-z0-9_-]*)(&feature=([a-z]+))?[/youtube]/is

"फीचर" भाग मानना ​​वैकल्पिक है, और "फीचर" से अन्य पैरामीटर भी हो सकते हैं:

/[youtube]http://(www.)?youtube(.[a-z]+){1,2}/watch?v=([a-z0-9_-]*)(&([a-z]+)=([a-z0-9_-])+)*?[/youtube]/is

संबंधित सवाल
सबसे लोकप्रिय