【问题标题】:How can I determine if a vimeo URL is a video? PHP如何确定 vimeo URL 是否为视频? PHP
【发布时间】:2012-05-10 00:03:21
【问题描述】:

所以我一直在用这个简单的方法来判断一个 URL 是否来自 vimeo

if (preg_match("/vimeo/",$url)) {
$getvim = (parse_url($url));
$vimid = str_replace("/", "", $getvim['path']);
}

如您所见,这只是确定 url 是否包含“vimeo”,然后通过抓取斜线后面的所有内容来抓取视频 ID。如果您实际上链接的是 vimeo 视频,则效果很好,但是如果链接仅包含“vimeo”而不是真正的 vimeo 链接,则会完全搞砸一切。

有没有人有更好的方法来做到这一点?有大量可用的 YouTube 解决方案,但几乎不可能找到一个好的 vimeo 解决方案。感谢您提供任何帮助,谢谢。

【问题讨论】:

    标签: php regex url preg-match vimeo


    【解决方案1】:

    试试这个代码:

    $urls = parse_url($url);
    if ($urls['host'] == 'vimeo.com'){
        $vimid = ltrim($urls['path'], '/');
        if (is_numeric($vimid)) {
            // do something with $vimid
        }
    }
    

    我们假设所有视频 ID 都是数字。

    【讨论】:

    • is_numeric,谢谢。我正要评论它如何更好,但我仍然需要验证它是 vimeo 的一部分还是实际视频的一部分,然后我看到你更新了它。完美的解决方案,非常感谢。
    • 是的,我一开始以为你只需要解析 URL,但最后我读到了问题标题 :) 不客气!
    【解决方案2】:

    通过file_get_contents($url)读取页面源,然后检查它是否包含字符串<meta property="og:video" content="http://vimeo.com/moogaloop.swf?clip_id=".$vimid." />如果包含该字符串,那么您就知道它是一个有效的视频。

    【讨论】:

      猜你喜欢
      • 2011-04-24
      • 1970-01-01
      • 2017-10-18
      • 1970-01-01
      • 2015-03-01
      • 2015-09-20
      • 1970-01-01
      • 2012-10-28
      • 1970-01-01
      相关资源
      最近更新 更多