String.replace() 函数解析 XML 字符串,以便可以在 HTML 中显示
我有一个 XML 字符串,需要在 HTML 中显示。我知道这里需要做的第一件事是转换所有 '<'和“>”进入 '& LT;'和 '& >' (忽略 & 符号后面的空格)。这就是我正在做的替换 '<' -
regExp = new RegExp("/</g");
xmlString = xmlString.replace(regExp, '& lt;');
xmlString
不会改变。
另外,trace(regExp.test("<"));
打印false
。
这里有什么问题吗?
I have a XML string which needs to be displayed within HTML. I understand the first thing needed to be done here is to convert all '<' and '>' into '& lt;' and '& gt;' (ignore the space after & sign). This is what I am doing to replace '<' -
regExp = new RegExp("/</g");
xmlString = xmlString.replace(regExp, '& lt;');
xmlString
does not change.
Also, trace(regExp.test("<"));
prints false
.
What is wrong here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
替换返回一个新字符串,它不会修改旧字符串。因此,如果你想覆盖旧的,你必须执行以下操作:
或者如果你不想覆盖旧的,只需将结果存储在一个新变量中。
replace returns a new string, it doesn't modify the old one. So if you want to overwrite the old you have to do the following:
Or if you don't want to overwrite the old one, just store the result in a new variable.
问题在于创建 RegExp 对象的方式。
由于您使用的是 RegExp 构造函数,因此请勿包含
/
字符:或使用
/
作为快捷方式:有关更多详细信息,请参阅此页面:http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/RegExp.html
The issue is the way you create your RegExp object.
Because your using the RegExp constructor, don't include the
/
characters:or use
/
as a shortcut:See this page for more details: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/RegExp.html