Function HtmlEncode(fString)
    If Not IsNull(fString) Then
        fString = Replace(fString, ">", ">")
        fString = Replace(fString, "<", "&lt;")
        fString = Replace(fString, Chr(32), "&nbsp;")
        fString = Replace(fString, Chr(34), "&quot;")
        fString = Replace(fString, Chr(39), "&#39;")
        fString = Replace(fString, Chr(13), "")
        fString = Replace(fString, Chr(10) & Chr(10), "</P><P> ")
        fString = Replace(fString, Chr(10), "<BR> ")
        HtmlEncode = fString
    End If
End Function
Function HTMLDecode(fString)
If Not IsNull(fString) Then
    fString = Replace(fString, "&gt;", ">")
    fString = Replace(fString, "&lt;", "<")
    fString = Replace(fString, "", Chr(13))
    fString = Replace(fString, "</P><P>", Chr(10) & Chr(10))
    fString = Replace(fString, "<BR>", Chr(10))
    HTMLDecode = fString
End If
End Function

解决方案 »

  1.   

    <script>
    function HTMLEncode(text){
    text = text.replace(/&/g, "&amp;") ;
    text = text.replace(/"/g, "&quot;") ;
    text = text.replace(/</g, "&lt;") ;
    text = text.replace(/>/g, "&gt;") ;
    text = text.replace(/'/g, "&#146;") ;
    text = text.replace(/\ /g,"&nbsp;");
    text = text.replace(/\n/g,"<br>");
    text = text.replace(/\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;");
    return text;
    }
    </script>
      

  2.   

    实体变换和HTML标记那么多,一个一个hardcode进去不得吐血?当然要浏览器帮我们转换啦:<SCRIPT LANGUAGE="JavaScript">
    <!--
    function String.prototype.translate(){
    var d = document.createElement("DIV");
    d.innerHTML = this;
    return d.innerText;
    }var st ="&copy;&reg;&trade;&quot;&amp;&lt;&gt;&Aacute;&aacute;&Agrave;&agrave;&agrave;&acirc;&Auml;&auml;&Atilde;&atilde;&Aring;&aring;&AElig;&aelig;&Ccedil;&ccedil;&ETH;&eth;&Eacute;&eacute;&Egrave;&egrave;&Ecirc;&ecirc;&Euml;&euml;&Iacute;&iacute;&Igrave;&igrave;&Icirc;&icirc;&Iuml;&iuml;&Ntilde;&ntilde;&Oacute;&oacute;&Ograve;&Ograve;&ograve;&Ocirc;&ocirc;&Ouml;&ouml;&Otilde;&otilde;&Oslash;&oslash;&szlig;&THORN;&thorn;&Uacute;&uacute;&Ugrave;&ugrave;&Ucirc;&ucirc;&Uuml;&uuml;&Yacute;&yacute;&yuml;";
    alert(st.translate())
    //-->
    </SCRIPT>
      

  3.   

    to emu:
    不对的哦,空格,回车就没有啦,还有
    String.prototype.translate = function (){
    var d = document.createElement("DIV");
    d.appendChild(document.createTextNode(this));
    return d.innerHTML.replace(/\r\n/g, '<br>').replace(/ /g, '&nbsp;').replace(/\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;");
    }这样可能好些
      

  4.   

    fason(阿信) :好挑剔哦,其实回车和空格本来就应该用标记和实体来表现的嘛,否则只当是html的分隔符:var st ="test<BR>&nbsp;&nbsp;&nbsp;test<BR>&nbsp;&nbsp;test<BR>&nbsp;test";
    alert(st.translate())