2010-01-24 3 views
7

यह जांचने के लिए सबसे अच्छा preg_match वाक्यविन्यास क्या है कि यूआरएल यूट्यूब/वीमियो/या दैनिक गति का वीडियो लिंक है या नहीं?कोई preg_match यह जांचने के लिए कि कोई यूआरएल यूट्यूब/वीमियो/डेलीमोशन वीडियो लिंक है या नहीं?

शायद यह कठिन है, तो बस डोमेन नाम की जांच करने के लिए।

धन्यवाद

+0

परिणाम सिर्फ सही/गलत है या आप को पता है जो इसे का मिलान नहीं हुआ –

+0

सिर्फ अगर यह सही या गलत – Ryan

उत्तर

11

मैं इसके लिए preg_match() का उपयोग नहीं होता। मुझे लगता है कि parse_url() शायद एक बेहतर विकल्प है। आप इसमें एक यूआरएल स्ट्रिंग पास कर सकते हैं, और यह आपके लिए सभी उपमहाद्वीपों में इसे तोड़ देगा।

मैं क्या उन साइटों के लिए विशिष्ट वीडियो URL आप की तरह देखो उल्लेख नहीं पता है, लेकिन मुझे यकीन है कि आप हर एक है कि आप parse_url() के परिणामों के साथ इस्तेमाल कर सकते हैं की पहचान करने के लिए कुछ की पहचान मापदंड के साथ आ सकता है कर रहा हूँ।

$res = parse_url("http://www.youtube.com/watch?v=Sv5iEK-IEzw"); 
print_r($res); 

/* outputs: 
Array (
    [scheme] => http 
    [host] => www.youtube.com 
    [path] => /watch 
    [query] => v=Sv5iEK-IEzw 
) 
*/ 

आप शायद होस्ट नाम और इस मामले में पथ के आधार पर यह पहचान सकता है: उदाहरण के लिए, यहाँ एक यूट्यूब लिंक के टूटने कैसा दिखाई दे सकता है।

+0

अच्छा टिप लेकिन सावधान रहना है की क्या आवश्यकता है? अब यह सिर्फ पथ एक है एनडी क्वेरी – Cogicero

2
if (preg_match ("/\b(?:vimeo|youtube|dailymotion)\.com\b/i", $url)) { 
    echo "It's a video"; 
} 
1

मैं कैसे आपको लगता है कि यूआरएल मिल पता नहीं है, लेकिन आप के बजाय सिर्फ www.youtube.com (के बाद से यूट्यूब वीडियो लिंक आमतौर पर घड़ी के रूप में पथ कुछ? "घड़ी" के लिए जाँच करने के लिए चाहते हो सकता है।

$res = parse_url("http://www.youtube.com/watch?v=Sv5iEK-IEzw"); 
if (preg_match("/\/watch/" , $res["path"] )){ 
    echo "found video\n "; 
} 
8

$location = 'your url';

if(preg_match('/http:\/\/www\.youtube\.com\/watch\?v=[^&]+/', $location, $vresult)) { 

      $type= 'youtube'; 

     } elseif(preg_match('/http:\/\/(.*?)blip\.tv\/file\/[0-9]+/', $location, $vresult)) { 


      $type= 'bliptv'; 

     } elseif(preg_match('/http:\/\/(.*?)break\.com\/(.*?)\/(.*?)\.html/', $location, $vresult)) { 

      $type= 'break'; 

     } elseif(preg_match('/http:\/\/www\.metacafe\.com\/watch\/(.*?)\/(.*?)\//', $location, $vresult)) { 

      $type= 'metacafe'; 

     } elseif(preg_match('/http:\/\/video\.google\.com\/videoplay\?docid=[^&]+/', $location, $vresult)) { 

      $type= 'google'; 

     } elseif(preg_match('/http:\/\/www\.dailymotion\.com\/video\/+/', $location, $vresult)) { 

      $type= 'dailymotion'; 

     } 
संबंधित मुद्दे

 संबंधित मुद्दे