【问题标题】:Vimeo video link regexVimeo 视频链接正则表达式
【发布时间】:2011-06-27 20:58:34
【问题描述】:

有人得到 vimeo 视频链接的正则表达式来从 pragraph 中提取它们以用于 php 吗?似乎无法为最新的 vimeo url 方案找到合适的方案

【问题讨论】:

标签: php jquery html vimeo


【解决方案1】:

Vimeo 有 4 个不同的公共视频链接

  1. 视频IDvimeo.com/[Video ID]
  2. 频道vimeo.com/channels/[Channel]/[Video ID]
  3. 群组vimeo.com/groups/[Group]/[Video ID]
  4. 玩家player.vimeo.com/video/[Video ID]

/(http|https)?:\/\/(www\.|player\.)?vimeo\.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|video\/|)(\d+)(?:|\/\?)/

【讨论】:

    【解决方案2】:

    据我所知,该方案只是http://vimeo.com/A_NUMBER,所以试试http://(www\.)?vimeo\.com/(\d+)。如果您不需要以http:// 为前缀的链接,则可以省略整个http://(www\.) 位。

    【讨论】:

    • 我正在替换 preg_replace 函数中的正则表达式,但出现错误:$content = preg_replace('http://(www\.)?vimeo\.com/(\d+)' , '[vimeo=$1]', $content);
    • 如果您收到错误消息,可以发布吗?否则,如果它只是给出空输出,请尝试 $2 - (www\.)? 可能会给出空捕获。
    • 警告:preg_replace() [function.preg-replace]:第 5 行 C:\xampp\htdocs\functionr\media.php 中的分隔符不能是字母数字或反斜杠警告:无法修改标头信息- 第 11 行 C:\xampp\htdocs\functionr\post_comment.php 中的标头(输出开始于 C:\xampp\htdocs\functionr\media.php:5)
    • 改为$s2,同样的问题。
    • 对了。 preg_replace 需要在正则表达式周围放置分隔符 - 试试 preg_replace('#http://(www\.)?vimeo\.com/(\d+)#g', '[vimeo=$1]', $content);
    【解决方案3】:

    注意:url scheme是

    http://vimeo.com/[SEVERAL_FOLDERS(opt.)]/[VIDEO_NUMBER]
    

    例如:

    http://vimeo.com/channels/staffpicks/48237094
    http://vimeo.com/48237094
    

    如您所见,这取决于用户从哪个页面复制链接。

    【讨论】:

    • 自 2013 年起,来自合作伙伴的视频网址包含两个字母和一个破折号:http://vimeo.com/yt-9023jr28j04jmu- 用于 muzu。所以 ID 应该接受字母、数字和“-”。
    • 那么我想它看起来像这样:http://(www\.)?vimeo\.com/(\w*/)*(([a-z]{0,2}-)?\d+)
    【解决方案4】:

    这个涵盖了所有可能的 Vimeo 视频 URL 方案:

    (?:http|https)?:?\/?\/?(?:www\.)?(?:player\.)?vimeo\.com\/(?:channels\/(?:\w+\/)?|groups\/(?:[^\/]*)\/videos\/|video\/|)(\d+)(?:|\/\?)
    
    vimeo.com/123456789
    vimeo.com/channels/mychannel/123456789
    vimeo.com/groups/shortfilms/videos/123456789
    player.vimeo.com/video/123456789
    http://vimeo.com/123456789
    https://vimeo.com/channels/mychannel/123456789
    https://vimeo.com/groups/shortfilms/videos/123456789
    https://www.player.vimeo.com/video/123456789
    

    在这里测试https://regexr.com/68gk3

    【讨论】:

      【解决方案5】:

      vimeo\.com/(\d)+ 有什么问题吗?你需要http://www.吗?

      【讨论】:

        【解决方案6】:

        最好问问 viemo 人,因为他们知道得更好,如果他们改变任何东西,他们会在他们的 api 中反映出来

        现场示例:

        http://vimeo.com/api/oembed.json?url=http%3A//vimeo.com/76979871

        API 文档:http://developer.vimeo.com/apis/oembed

        从这个https://stackoverflow.com/a/17156853/1545904得到启发的答案

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-01
          • 1970-01-01
          • 2012-03-22
          • 2023-03-17
          • 2011-04-08
          • 1970-01-01
          相关资源
          最近更新 更多