IDを使用してすべてのYoutubeリンクをJavascript関数呼び出しに変更できる関数を探しています。
私のコードをお見せしますが、それは間違っています...私が望むように機能していません...:
function find_and_replace_youtube_links(message)
{
return message.replace(/(?:http:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(.+)/g, 'play_youtube(\'$1\')');
}
function play_youtube(youtube_id)
{
$('#youtube_embed').html('something youtubeid something');
}
呼びだし
alert(find_and_replace_youtube_links('test \n\
http://www.youtube.com/watch?v=JGCsyshUU&feature=autoplay&list=sSPDBAE171ADC2D71FA&playnext=1\n\
\n\
testt http://www.youtube.com/watch?v=JGCsyshUU&feature=autoplay&list=sSPDBAE171ADC2D71FA&playnext=1 testt\n\
\n\
testtt'));
そして出力
test
play_youtube('JGCsyshUU&feature=autoplay&list=sSPDBAE171ADC2D71FA&playnext=1')
testt play_youtube('JGCsyshUU&feature=autoplay&list=sSPDBAE171ADC2D71FA&playnext=1 testt')
testtt
うーん...
問題はここにあります:
play_youtube('JGCsyshUU&feature=autoplay&list=sSPDBAE171ADC2D71FA&playnext=1')
idだけでなく、すべてのリンクを解析していることがわかります。
play_youtube('JGCsyshUU');
それ以外の
play_youtube('JGCsyshUU&feature=autoplay&list=sSPDBAE171ADC2D71FA&playnext=1')
とは間違っています
:-(
似たようなことをしていて、機能している人はいますか?私は自分の要件に適応できますが、私の要件と共通するものが必要です。