我们有时候需要将html代码作为文本格式输出,比如在网页留言中需要将留言里的html代码转换成文本格式,以免产生错误,甚至被挂马。
在学习Split的时候,我做了个例子程序也就是将关键词自动分割输出。
但是出现了个问题,那就是如果输入内容为html代码的时候,那么关键词无法正确显示并且还可能出错。
于是上网搜到了个函数Server.HTMLEncode(),可以让代码在页面里显示为源代码的形式。
根据这个情况写代码如下:
<% ok=request.QueryString("action") txt=server.htmlencode(Request.Form("txt")) if ok="ok" then str=Split(txt," ",-1) for i=0 to ubound(str) %> 第<%=(i+1)%>个关键词:<%=str(i)%><br> <% next else %> <form action="splitkey.asp?action=ok" method="post"> <p>请输入关键词用空格隔开<br /> <input type="text" name="txt" /></p> <input type="submit" value="提交" /> </form> <%end if%>
测试程序地址:http://www.icoa.cn/demo/asp/splithtml.asp
输入一个html代码<br />,正确输出。但是后来发现如果输入中文就会出错……它把中文也转换成代码了……
PS.经过测试,如果页面变为UTF-8编码,就可以显示中文了。
于是继续驱浏览器上网,找到了一个自定义的函数,这里只截取其中一部分:
<% function HTMLEncode(fString) fString=replace(fString,"<","<") fString=replace(fString,">",">") HTMLEncode=fString end function %>
也就是将<>替换为相应html代码,而其他的不变,这样输出的时候就不会出错了。
如图:
最终测试地址:http://www.icoa.cn/demo/asp/splitkey.asp
那么我们思维发散一下就可以知道,这个方法可以用在留言里,把留言里的<>替换成Html代码就可以避免广告链接或者挂马了……
下一篇:eWebEditor编辑器在IE8/IE7下无法使用解决方法
- 相关文章 -
用ASP隐藏IP末位完整版 - 2010-07-10
ASP用replace()替换字符串的用法 - 2011-05-21
用ASP内建对象轻松做网址域名自动跳转(下) - 2010-06-29
ASP不能用 '..' 表示父目录解决办法 - 2011-05-15
ASP字符串InStr函数用来判断是否含有某些字符串 - 2010-06-12
用ASP判断客户端浏览器语言自动跳转代码 - 2010-06-12
网址URL代码(urlcode)用ASP编码与解码的方法 - 2011-05-05
用ASP内建对象轻松做网址域名自动跳转(上) - 2010-06-01
- 文章评论 -
- 最新评论[0条评论] -
版权所有©逍遥峡谷 - 星际中心超自然局 · 地球总部 |
逍遥峡谷 ·
酷品优选
Copyright©Interstellar Central Occult Agency (I.C.O.A)
本局纯属虚构,如有雷同,纯属巧合