1

私は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&nbsp;&nbsp;&nbsp; word"

なぜですか?助けてください。言語はvbscriptです

4

0 に答える 0