String.replace()函数用于解析XML字符串,以便它可以用HTML显示

时间:2010-11-09 19:02:14

标签: html xml actionscript-3 pattern-matching replace

我有一个需要在HTML中显示的XML字符串。我知道这里需要做的第一件事是转换所有'<'和'>'进入'& LT;”和'& GT;” (忽略& sign后面的空格)。我正在做的是替换'<' -

regExp = new RegExp("/</g");
xmlString = xmlString.replace(regExp, '& lt;');

xmlString不会改变。

此外,trace(regExp.test("<"));打印false

这里有什么问题?

2 个答案:

答案 0 :(得分:3)

replace返回一个新字符串,它不会修改旧字符串。因此,如果要覆盖旧版本,则必须执行以下操作:

xmlString = xmlString.replace(regExp, '&lt;');

或者,如果您不想覆盖旧的,只需将结果存储在新变量中。

var newString = xmlString.replace(regExp, '&lt;');

答案 1 :(得分:2)

问题在于您创建RegExp对象的方式。

因为您使用RegExp构造函数,所以不要包含/个字符:

regExp = new RegExp("<", "g");

或使用/作为快捷方式:

regExp = /</g;

有关详情,请参阅此页:http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/RegExp.html