我正在尝试使用javascript替换函数来转换html实体<进入&lt ;,像这样
text = text.replace(/</g, "<");
text = text.replace(/>/g, ">");
初始文本看起来像这样:
<img />
我试图让它看起来像这样:
<img />
然而,当我运行上面的代码时,我得到......这个:
$lt;img />
有趣的是,更换&gt;标志工作正常,但更换&lt;标志产生了一些完全出乎意料的事情(那里的那个$符号来自???)。
我还应该指出,如果我在&lt;之前添加一个空格。在替换函数中,像这样:
text = text.replace(/</g, "< ");
它产生了这个:
< img />
不幸的是,这不会像我想要的那样被解析为HTML ...
编辑:如果有帮助,我正在执行此操作的文本是XMLHttpRequest的responseText。
答案 0 :(得分:4)
当你这样做时,你会覆盖替换。 尝试像链一样:
var text = '<img />';
text = text.replace(/</g, "<").replace(/>/g, ">");
// Output = <img />
或者您可以将替换分配给text
变量:
var text = '<img />';
text = text.replace(/</g, "<");
text = text.replace(/>/g, ">");
// Output = <img />
答案 1 :(得分:0)
好吧,这是相当尴尬的,但事实证明$出现的原因是因为那是源代码中的内容......
我用&amp;&替换了$现在它工作正常。
非常感谢您的反馈意见,很抱歉浪费您的时间来处理这样一个简单的错误。