首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌入的Youtube链接-代码中发生了什么?

嵌入的Youtube链接-代码中发生了什么?
EN

Stack Overflow用户
提问于 2016-09-03 03:12:53
回答 1查看 187关注 0票数 0

有没有人能解释一下露比在这里做什么?

我想要理解代码,这样我就可以在将来适应它。我想做的一件事是让它适应Vimeo,但我需要了解发生了什么,这样我才能学到更多。

代码语言:javascript
复制
module ApplicationHelper
    def youtube_embed(youtube_url)
    if youtube_url[/youtu\.be\/([^\?]*)/]
      youtube_id = $1
    else
      # Regex from # http://stackoverflow.com/questions/3452546/javascript-regex-how-to-get-youtube-video-id-from-url/4811367#4811367
      youtube_url[/^.*((v\/)|(embed\/)|(watch\?))\??v?=?([^\&\?]*).*/]
      youtube_id = $5
    end

    %Q{<iframe title="YouTube video player" src="https://www.youtube.com/embed/#{ youtube_id }?rel=0&enablejsapi=1" frameborder="0" allowfullscreen></iframe>}
  end
end
EN

回答 1

Stack Overflow用户

发布于 2016-09-03 05:41:20

这段代码试图从视频上的任何youtube链接为embet youtube播放器构建代码。此if youtube_url[/youtu\.be\/([^\?]*)/]验证给定的url是否具有"youtu.be/....“格式化,然后提取视频id。($1包含正则表达式的求值结果(/.../之间的表达式))

如果字符串不是以'youtu.be‘开头,代码使用一些棘手的正则表达式(如果代码中的stackoverflow的跟随链接可以解释ypu可以找到的),然后从$5也可以得到视频id。

然后它返回一个字符串,该字符串是该视频的嵌入式youtube播放器的html代码。它使用#{youtube_id}将视频id插入到此字符串的末尾

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39299304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档