我目前正在将Wordpress博客迁移到Contentful。在迁移期间,我想转换网址,例如https://www.youtube.com/watch?v=psil6MKUXeE
,嵌入。
我们说我收到了这个文字:
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
https://www.youtube.com/watch?v=psil6MKUXeE
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio.
https://www.youtube.com/watch?v=psil6MKUXeE
Dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
如何提取多个网址(在本例中为youtube)并将其替换为youtube嵌入代码?
答案 0 :(得分:2)
如果我理解您的问题,您希望将https://www.youtube.com/watch?v=video_id
替换为包含您视频的iframe。
您可以这样做:
url = 'https://www.youtube.com/watch?v=psil6MKUXeE'
value = url.match(/v=(.*)$/)[1]
target = "<iframe width='854' height='480' src='https://www.youtube.com/embed/#{value}' frameborder='0' allow='autoplay; encrypted-media' allowfullscreen></iframe>"
这将生成您想要的嵌入视频格式的链接,使用您提供的信息实现脚本有点困难,但是将其置于包含文件和要替换的行的循环中应该不难。如果您正在使用Linux,您甚至可以在整个存储库中使用sed
执行此操作。
答案 1 :(得分:0)
TEXT = 'your text with links to youtube videos'
url_regex = /https:\/\/www.youtube.com\/watch\?v=(\w+)/
iframe_tag = '<iframe width="560" height="315" src="https://www.youtube.com/embed/\1?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>'
TEXT.gsub(url_regex, iframe_tag)
如果文本中的所有链接都转到youtube,则可以将正则表达式简化为/https.+?v=(\w+)/
。
您应该更改iframe_tag
参数以满足您对自动播放,尺寸等的要求。