php 将Youtube或Vimeo网址转换为iframe
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 将Youtube或Vimeo网址转换为iframe相关的知识,希望对你有一定的参考价值。
<?php
function get_video_by_url($url, $params = null)
{
if (!is_string($url)) return false;
$regexVM = '~
# Match Vimeo link and embed code
(?:<iframe [^>]*src=")? # If iframe match up to first quote of src
(?: # Group vimeo url
https?:\/\/ # Either http or https
(?:[\w]+\.)* # Optional subdomains
vimeo\.com # Match vimeo.com
(?:[\/\w]*\/videos?)? # Optional video sub directory this handles groups links also
\/ # Slash before Id
([0-9]+) # $1: VIDEO_ID is numeric
[^\s]* # Not a space
) # End group
"? # Match end quote if part of src
(?:[^>]*></iframe>)? # Match the end of the iframe
(?:<p>.*</p>)? # Match any title information stuff
~ix';
$regExpYt = '~
^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*
~ix';
preg_match($regexVM, $url, $matches);
if (isset($matches[1]) && is_array($params) && isset($params['img']) && $params['img']) {
return '<a href="' . $url . '"' . (isset($params['class']) ? ' class="popup-vimeo ' . $params['class'] . '"' : '') . '><img src="" data-vmid="' . $matches[1] . '" alt=""></a>';
} else if (isset($matches[1])) {
return '<iframe class="video" src="https://player.vimeo.com/video/' . $matches[1] . '" width="500" height="449" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>';
}
preg_match($regExpYt, $url, $matches);
if (isset($matches[7]) && is_array($params) && isset($params['img']) && $params['img']) {
return '<a href="' . $url . '"' . (isset($params['class']) ? ' class="popup-youtube ' . $params['class'] . '"' : '') . '><img src="http://img.youtube.com/vi/' . $matches[7] . '/hqdefault.jpg" alt=""></a>';
} else if (isset($matches[7])) {
return '<iframe class="video" width="500" height="449" src="https://www.youtube.com/embed/' . $matches[7] . '" allowfullscreen></iframe>';
}
return false;
}
以上是关于php 将Youtube或Vimeo网址转换为iframe的主要内容,如果未能解决你的问题,请参考以下文章
php 将YouTube网址转换为嵌入网址
php Youtube或Vimeo嵌入
YouTube Vimeo 视频 ID 来自嵌入代码或来自带有 PHP 正则表达式 RegEx 的 URL
使用自定义字段从 Youtube 或 Vimeo 嵌入背景视频
如何使用 php 获取 youtube 和 vimeo 嵌入代码的视频缩略图?
Azure 媒体播放器与 Youtube 和 Vimeo 的集成