如果想要在自己開發的Xoops模組中播放youtube影音,就必須解出youtube影片網址串後面的ID才行,然後套入到iframe中,youtube影片網址目前有兩種格式 1、瀏覽器網址有?v=變數值,像是https://www.youtube.com/watch?v= yeWbbzDDNAc 紅字即為影片ID 2、播放器滑鼠右鍵->複製影片網址,沒有?v=變數值,像是https://youtu.be/ yeWbbzDDNAc 紅字即為影片ID 所以function必須兩種格式網址都要能解出影片ID,以下為CODE部分 //youtube取得網址ID function function youtubeurl($url=""){ //解析youtube網址?v值 //網址類型:https://www.youtube.com/watch?v=zIE8htt4HLg $urlarr=parse_url($url); parse_str($urlarr['query'],$parr); $vid=$parr['v']; //解析複製網址後ID值 //網址類型:https://youtu.be/SfPeulcfbSI if(empty($vid)) $vid=end(preg_split("/\//",reset(preg_split("/\?/",$url)))); return $vid; } 使用範例 $url="https://www.youtube.com/watch?v=yeWbbzDDNAc"; 或是 $url="https://youtu.be/yeWbbzDDNAc"; 以上兩種格式都能解 echo $youtubbox="<iframe width='950' height='534' src='https://www.youtube.com/embed/". youtubeurl($url) ."' title='YouTube video player' frameborder='