我正在进行实时预览,我必须更换一些字符。当我输入<span class="txt-bold">text</span>
时,它应该用html替换它:textarea_content = textarea_content.replace(/\*/g, '<span class="txt-bold">').replace(/\[\/*\]/g, '</span>');
。
我的代码的第一部分似乎是成功的,但我不知道如何修改REGEX以便它正确地用SPAN的结束标记替换第二个星号。
这听起来真的很愚蠢,但在我的研究中,我无法找到解决方案。
{{1}}
答案 0 :(得分:2)
您的问题是,第一个正则表达式会使用*
开头标记替换所有<span>
个实例,因此第二个replace()
调用将与任何内容都不匹配。
更好的解决方案是使用单个正则表达式匹配组,然后使用该替换进行替换。试试这个:
var foo = 'some dummy *text*';
var bar = foo.replace(/\*(.+)\*/g, '<span class="txt-bold">$1</span>');
console.log(bar);