关闭相同的字符,其他替换

时间:2017-05-01 15:25:41

标签: javascript regex

我正在进行实时预览,我必须更换一些字符。当我输入<span class="txt-bold">text</span>时,它应该用html替换它:textarea_content = textarea_content.replace(/\*/g, '<span class="txt-bold">').replace(/\[\/*\]/g, '</span>');

我的代码的第一部分似乎是成功的,但我不知道如何修改REGEX以便它正确地用SPAN的结束标记替换第二个星号。

这听起来真的很愚蠢,但在我的研究中,我无法找到解决方案。

{{1}}

1 个答案:

答案 0 :(得分:2)

您的问题是,第一个正则表达式会使用*开头标记替换所有<span>个实例,因此第二个replace()调用将与任何内容都不匹配。

更好的解决方案是使用单个正则表达式匹配组,然后使用该替换进行替换。试试这个:

var foo = 'some dummy *text*';
var bar = foo.replace(/\*(.+)\*/g, '<span class="txt-bold">$1</span>');

console.log(bar);