从字符串中提取youtube URL

时间:2013-01-11 11:43:30

标签: php

到目前为止我尝试的是这个功能:

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 个答案:

答案 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;
}