我已經找到了正常的YouTube網址的YouTube ID。但是我沒有想到簡短的youtu.be網址,我也不知道如何過濾YouTube-Id的視頻。據我知道有這類YT-網址可供選擇:preg_match找出YouTube ID
youtube.com/watch?v=0zM3nApSvMg &功能= feedrec_grec_index
youtube.com/user/IngridMichaelsonVEVO#p/a/u/ 1/QdK8U-VIH_o
youtube.com/v/0zM3nApSvMg?fs=1 & HL = EN_US &相對= 0
youtube.com/watch?v=0zM3nApSvMg#t=0m10s
的YouTube的.com /嵌入/ 0zM3nApSv ?鎂的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>';
}
這似乎是一個** PHP /'preg_match()**問題,*不*一個WordPress **問題。 –
感謝您的快速回答。我可以提出這個問題嗎? – Philipp
這真是一個PHP問題。移動它可能有意義。 –