<?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 期待很快回复:
答案 0 :(得分:2)
使用javascript和正则表达式,您可以这样做:
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;
答案 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