内容替换功能

时间:2013-02-17 22:10:01

标签: javascript replace

我对content replace function:

有一个跟进问题

这是我目前的内容替换功能:

content = content.replace(/(<t t>(.*?)<t t>)/g, function(m,p1,p2){
    return p2,p1.replace(/     /g,"_").replace(/<t t>/g,"<html>");
});

当我跑步时:

This <t t>this a test<t t> of 

通过我的HTML流程文本区域:

<textarea id="content" cols="48" rows="8"></textarea><br />
<input type="button" value="Process" onclick="process()" />

我将收到这个作为输出:

This <t_t>this_a_test<t_t> of the replace.

而不是我想要的是什么:

This <t d>this_a_test<t d> of the replace.

我知道原因

<t t> 

不会替换为

<t d>

是因为我的函数正在寻找一个空格,反过来会省略该空格并创建一个下划线。但我无法弄清楚如何不发生这种情况,同时仍然用我的两个标签中的下划线替换一个空格,例如。

this a test

将成为

this_a_test

上一个问题的回答者使用了这个有用的资源.replace() method来帮助我理解,但令我非常懊恼的是,我无法自己解决这个问题。非常感谢您提供帮助,如果需要,请点击我的example

链接

1 个答案:

答案 0 :(得分:0)

所以,根据你的评论......

  

...以便当“这&lt; t t&gt;这是替换的测试&lt; t t&gt;”时。输入到我的流程文本区域,结果将是“此&lt; t d&gt; this_a_test&lt; t d&gt;替换”...

......你可以这样做:

content.replace(/<t t>/g, "<t d>");

请记住,正则表达式中的/g标志与测试字符串中的所有模式匹配(g代表“全局”)。