从iframe视频中获取youtube视频ID

时间:2016-05-30 09:33:30

标签: javascript php iframe youtube

<?php echo $videoFirstArray['fileToUpload']; ?>

此字段包含ifrmae,类似这样

<iframe width="560" height="315" src="https://www.youtube.com/embed/ISMzgunUono" frameborder="0" allowfullscreen></iframe>

从此我想要这个&#34; ISMzgunUono&#34;。我已经搜索了论坛并查看了链接,但没有找到任何方法来保存我的文件Toopload&#39; pregmatch内的字段。 我接下来的一些链接: Get YouTube video id from embed iframe code 这个链接给出了一个错误 how to get Video id from iframe of youtube in php or cakephp 期待很快回复:

3 个答案:

答案 0 :(得分:2)

使用javascript和正则表达式,您可以这样做:

&#13;
&#13;
var url = document.getElementById('myIframe').src,
    regExp = /.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=)([^#\&\?]*).*/,
    videoId = url.match(regExp);

if (videoId && videoId[1].length === 11) {
    console.log(videoId[1]);
}
&#13;
<iframe id="myIframe" width="560" height="315" src="https://www.youtube.com/embed/ISMzgunUono" frameborder="0" allowfullscreen></iframe>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

严格来说,在PHP中,您应该能够运行:

preg_match('/youtube.com\/embed\/([A-Za-z0-9-]+)/', $videoFirstArray['fileToUpload#'], $matches);
if($matches[1]) {
    echo $matches[1];
}

它应该回显ISMzgunUono。但这是未经测试的!如果有效,请告诉我。

答案 2 :(得分:0)

你可以试试这个:

<?php

$string = $videoFirstArray['fileToUpload'];
$pattern = '!youtube.com/embed/([^"]+)!i';
preg_match($pattern, $string, $match);
print_r($match);

?>

预期的输出应该是这样的:

Array
(
    [0] => youtube.com/embed/ISMzgunUono
    [1] => ISMzgunUono
)

顺便说一句,这是how to get Video id from iframe of youtube in php or cakephp