用视频ID替换youtube嵌入iframe - Javascript

时间:2011-09-17 01:00:57

标签: javascript regex

我需要用bbcode之类的东西替换一些youtube iframe。例如:

示例内容:

  

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem   ipsum

     

[iframe width =“560”height =“315”   src =“http://www.youtube.com/embed/RbJjC98ArCI”frameborder =“0”   的allowFullScreen] [/ iframe中]

     

lorem ipsum lorem ipsum lorem ipsum lorem ipsum

  • 请注意我需要更换characteres< AND>不会显示BY [AND]或iframe代码。

替换内容:

  

lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem   ipsum

     

[YouTube的] RbJjC98ArCI [/ YouTube的]

     

lorem ipsum lorem ipsum lorem ipsum lorem ipsum

Javascript示例代码:

var content_with_bbcodes=content.replace(SOME_REGULAR_EXPRESSION_HERE, '[youtube]$1[/youtube]');

我也想反过来。用于将bbcode转换为iframe的正则表达式...

这里有人经历过正则表达式吗?

1 个答案:

答案 0 :(得分:2)

这是应该有用的东西。

var content_with_bbcodes=content.replace(/\[.+?embed\/(.+?)\".+\]/, '[youtube]$1[/youtube]');

至于反面,它是可行的,但你必须添加宽度和高度。

// sample
var height = 100;
var width = 200;
var content_iframe=content_with_bbcodes.replace(/\[youtube\](.+?)\[\/youtube\]/,'[iframe height="'+height+'" width="'+width+'" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen][/iframe]');