通常の YouTube URL の YouTube ID を見つけるために、すでに機能しています。しかし、短い youtu.be URL については考えていませんでした。動画の YouTube ID を除外する方法がわかりません。私の知る限り、次の種類の YT-URL が利用可能です。
youtube.com/watch?v=0zM3nApSvMg&feature=feedrec_grec_index
youtube.com/user/IngridMichaelsonVEVO#p/a/u/1/QdK8U-VIH_o
youtube.com/v/0zM3nApSvMg?fs=1&hl=en_US&rel=0
youtube.com/watch?v=0zM3nApSvMg#t=0m10s
youtube.com/embed/0zM3nApSvMg?rel=0
youtube.com/watch?v=0zM3nApSvMg
youtu.be/0zM3nApSvMg
別の質問でこれを見つけましたが、機能していません:
/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/
私の質問は次のとおりです。次のコードを編集して、常に YouTube ID を取得するにはどうすればよいですか?! ;)
どうもありがとう!
add_filter('embed_oembed_html', 'my_embed_oembed_html', 99, 4);
function my_embed_oembed_html( $html, $url, $attr, $post_id) {
$posttext = substr($url[0],1);
preg_match('/v\=([a-zA-Z0-9,-]+)/', $url, $youtubeID);
return '<div id="video" class="border-frame"><video class="video" data-settings="autoresize:fit" preload="none" data-youtube-id="' . $youtubeID[1] . '"></video></div>';
}