我有一些文本可以保存到xml文件中。但是内部文本是一些XML不允许的符号(如unicode:0xb)。我怎么过滤它们?在VBScript方法中类似于HTMLEncode。
答案 0 :(得分:1)
ASP有一个HTMLEncode
方法,但普通的VBScript没有。您需要自己实现它,例如:
Function EncodeCharacter(m, p, s)
EncodeCharacter = "&#" & Asc(m) & ";"
End Function
Function EncodeString(s)
Set re = New RegExp
re.Pattern = "[^a-zA-Z0-9 .:;!?/_-]"
re.Global = True
EncodeString = re.Replace(s, GetRef("EncodeCharacter"))
End Function
str = ...
encoded = EncodeString(str)
上面的代码使用带有replacement function的正则表达式来替换特殊字符及其对应的数字实体。根据需要调整正则表达式,以便它涵盖您不想要替换的所有字符。