这是我目前的内容替换功能:
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
链接答案 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代表“全局”)。