我需要用bbcode替换某些youtube iframe。例:

样本内容:


  lorsum ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem
  ipsum
  
  [iframe宽度=“ 560”高度=“ 315”
  src =“ http://www.youtube.com/embed/RbJjC98ArCI” frameborder =“ 0”
  allowfullscreen] [/ iframe]
  
  lorem ipsum lorem ipsum lorem ipsum lorem ipsum



请注意,我需要用[AND]替换字符,否则将不会显示iframe代码。


内容替换为:


  lorsum 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的正则表达式...

这里有人对正则表达式有经验吗?

最佳答案

这应该可行。

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]');

关于javascript - 用视频ID替换youtube嵌入的iframe-Javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7451756/

10-11 18:39