私はvbscriptで次の関数を持っています:
Function HTMLEncode(sText)
Dim regEx
Dim matches
Dim match
sText = Replace(sText, Chr(34), """)
sText = Replace(sText, Chr(60) , "<")
sText = Replace(sText, Chr(62) , ">")
sText = Replace(sText, Chr(38), "&")
sText = Replace(sText, Chr(32), " ")
Set regEx= New RegExp
With regEx
.Pattern = "&#(\d+);" 'Match html unicode escapes
.Global = True
End With
Set matches = regEx.Execute(sText)
'Iterate over matches
For Each match in matches
'For each unicode match, replace the whole match, with the ChrW of the digits.
sText = Replace(sText, ChrW(match.SubMatches(0)), match.Value)
Next
HTMLEncode = sText
End Function
ただし、これはスペースをエンコードしません。>、<、 "を入力するとエンコードされます。ただし、スペースを入力するとエンコードされません。エンコードされますが、複数のスペースを入力するとエンコードされます。たとえば、次のようになります。
"thishas4spaces word"
最初の3つは、最後のスペースを除いてエンコードされます。したがって、次のようになります。
"thishas4spaces word"
なぜですか?助けてください。言語はvbscriptです