2013-01-11 171 views
0

我已經試過到目前爲止,這是功能:從字符串中提取YouTube網址

function isYoutubeUrl($url) { 
    return preg_match("#^https?://(?:www\.)?youtube.com#", $url); 
} 

但它只是一個普通的YouTube拉開這樣的工作:

$string = 'http://www.youtube.com/watch?v=bJIXm6U4df'; 
$newString = isYoutubeURL($string); 
if($newString); // true 

我需要一個函數,它檢查一個字符串的YouTube網址,如果有,返回該網址。

$string = 'this is so crazy...http://www.youtube.com/watch?v=bJIXm6U4df'; 
$newString = extractYoutubeUrl($string); 
echo $newString; // http://www.youtube.com/watch?v=bJIXm6U4df 

任何想法?

回答

2

^- 檢查從字符串的開頭 - 將其刪除,並嘗試

回報的preg_match( 「#https://(:WWW)youtube.com#???」 $網址);

這將是你的函數:

function extractYoutubeUrl($url) { 
    return preg_match("#https?://(?:www\.)?youtube.com#", $url); 
} 
+0

不正是我想要的,但現在的工作,THX – Chris

+0

怎麼樣的聯繫?youtu.be –

0

試試這個

function extractYoutubeUrl($url) { 
    if(preg_match("#(http://www\.youtube\.com/watch\?v=[%&=#\w-]*)#", $url, $result)) 
    return $result[0]; 
    return null; 
}