0

私がこれまでに試したのは、この機能です:

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 URL の文字列をチェックし、存在する場合はその URL を返す関数が必要です。

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

何か案が?

4

2 に答える 2

2

^ - 文字列の先頭からチェックします - 削除して試してください

return preg_match("#https?://(?:www.)?youtube.com#", $url);

これはあなたの機能になります:

function extractYoutubeUrl($url) {
    return preg_match("#https?://(?:www\.)?youtube.com#", $url);
}
于 2013-01-11T11:47:33.533 に答える
0

これを試して

function extractYoutubeUrl($url) {
  if(preg_match("#(http://www\.youtube\.com/watch\?v=[%&=#\w-]*)#", $url, $result))
    return $result[0];
  return null;
}
于 2013-01-11T12:05:47.637 に答える