到目前为止我尝试的是这个功能:
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
有什么想法吗?
答案 0 :(得分:2)
^ - 从字符串的开头检查 - 删除它并尝试
返回preg_match(“#https?://(?:www。)?youtube.com#”,$ url);
这将是你的功能:
function extractYoutubeUrl($url) {
return preg_match("#https?://(?:www\.)?youtube.com#", $url);
}
答案 1 :(得分:0)
试试这个
function extractYoutubeUrl($url) {
if(preg_match("#(http://www\.youtube\.com/watch\?v=[%&=#\w-]*)#", $url, $result))
return $result[0];
return null;
}