我使用了preg_replace这样,但具有下列问题:PHP正则表达式的preg_replace转换YouTube网址嵌入URL版本
$pattern = '#http(s)://(www\.)?youtube\.com/watch\?v=([^ &\n]+)(&.*?(\n|\s))?.+#i';
$replacement = 'http://www.youtube.com/v/$3';
$final = preg_replace($pattern, $replacement, 'http://www.youtube.com/watch?v=Bf3iBtURGxk');
echo $final;
输出http://www.youtube.com/watch?v=Bf3iBtURGxk [并未在所有的工作]
$final = preg_replace($pattern, $replacement, 'https://www.youtube.com/watch?v=Bf3iBtURGxk');
echo $final;
输出http://www.youtube.com/v/Bf3iBtURGx [作品!但截断最终字符!]