明凯博客

关注网站技术,一个特立独行的程序员

用HTMLEncode代替ASP的Server.HTMLEncode默认函数

在ASP中,Server.HTMLEncode方法仅对如下四个影响到HTML输出的字符进行编码:

&<>“,

Server.HTMLEncode方法它并不能对其他字符进行编码,比如空格符、回车符、换行符、单引号等。

语法

1
Server.HTMLEncode( string )

参数
string
指定要编码的字符串。
示例

1
< %= Server.HTMLEncode("The paragraph tag: <P>") %>

输出

The paragraph tag: <P>

注意 以上输出将被 Web 浏览器显示为

The paragraph tag:

如果查看一下源文件或以文本方式打开一个 Web 页,您就可以看到已编码的 HTML

有些时候我们需要对输出的内容的格式符也做下处理,就像如果不对换行符做处理的话输出后再浏览器上并没有换行一样,这时候我们需要把换行符处理成”
“。

HTMLEncode()函数是一个自定义函数,它不仅可以对HTML符号进行编码,还可以对回车和换行进行编码,可以让在文本框中输入的内容按照原来的显示格式进行输出。

1
2
3
4
5
6
7
8
9
10
11
12
function HTMLEncode(fString)
       fString = replace(fString, "&", "&amp;")
       fString = replace(fString, """", "&quot;")
       fString = replace(fString, "'", "&#39;")
       fString = replace(fString, ">", "&gt;")
       fString = replace(fString, "< ", "&lt;")
       fString = replace(fString, " ", "&nbsp;")
       fString = replace(fString, CHR(13), "")
       fString = replace(fString, CHR(10) & CHR(10), "<p>")
       fString = replace(fString, CHR(10), "<br />")
       HTMLEncode = fString
end function

这里可以加入自己需要替换的代码。

, , , ,

相关文章

8 条评论 “用HTMLEncode代替ASP的Server.HTMLEncode默认函数

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注