PHP:如何检查 URL 是 Youtube 还是 vimeo

标签 php url youtube vimeo

如何编写一个函数来检查提供的 URL 是 youtube 还是 vimeo?

例如,我将这两个 URL 作为字符串存储在数据库中,

http://vimeo.com/24456787

http://www.youtube.com/watch?v=rj18UQjPpGA&feature=player_embedded

如果 URL 是 youtube,那么我会将 URL 重写为,

http://www.youtube.com/embed/rj18UQjPpGA?rel=0&wmode=transparent

如果 URL 是 vimeo 那么我会将这个 URL 重写为,

http://vimeo.com/moogaloop.swf?clip_id=24456787

谢谢。

最佳答案

使用 parse_url 函数拆分 URL,然后进行正常检查

$url = 'http://www.youtube.com/watch?v=rj18UQjPpGA&feature=player_embedded';
$parsed = parse_url($url);

会给你这个数组

array
  'scheme' => string 'http' (length=4)
  'host' => string 'www.youtube.com' (length=15)
  'path' => string '/watch' (length=6)
  'query' => string 'v=rj18UQjPpGA&feature=player_embedded' (length=37)

关于PHP:如何检查 URL 是 Youtube 还是 vimeo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6618967/

相关文章:

php - 使用 PHPThumb 和 Thickbox/Colorbox

php - 从 in_array 语句获取值

.htaccess - Joomla 搜索返回无效的网络链接 URL(SEO 友好 URL 不起作用)

youtube - 如何查找视频是否在 YouTube 数据 api v3 上联合发布

javascript - Youtube v3 API - pageToken 不起作用

youtube - YouTube身份验证停止工作

php - Laravel Carbon::today() 方法返回前一天

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

android - 在 Android map 图 block 的 getTileUrl 中添加授权 header

c# - URL 中存在特殊字符的 Web Api 2 路由问题