|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
有时候我们会为这样一个问题而烦恼,就是如何在asp页面中避免支持html语法. 例如: 下面一句话 "<form><input type=text></form>这是一个表单语句" 当我们在ASP文件中用response.write"<form><input type=text></form>这是一个表单语句"输出这句话时,结果会出现一个文本框,显然这与我们的目的背离. 为了得到正常的输出结果 :<form><input type=text></form>这是一个表单语句 我们要对这个字串做一下特别处理,有3种方式可以实现: 1.直接用ASP语法server.htmlencode() rstr="<form><input type=text></form>这是一个表单语句" rstr=server.htmlencode(rstr) response.write rstr \\\'response语句输出结果即可的到准确结果,但这种方式好象有可能产生乱码.笔者曾碰到过这个头痛的问题. 本人的主页是放在国外的一个服务器上,用了这种方式之后,所有中文全部是乱码,而英文却准确,可是服务器 却明显说支持中文,于是想到第2种方式. 2.只对字符串中的除中文以外的字符用server.htmlencode()语法,详细语句如下: rstr="<form><input type=text></form>这是一个表单语句" temp = "" for i = 1 to len(rstr) zh = mid(rstr,i,1) if (asc(zh)>40 and asc(zh)<130) then zh=server.htmlencode(zh) \\\'判定字符zh是否为中文,若不是则对它用server.htmlencode() temp = temp + zh next rstr= temp response.write rstr \\\'得到的结果异常准确,而且不会出现乱码.但这种方式语句冗余,处理速度不快,于是有了更好的第3种方式. 3.这是一种特别的方式,可以说思路很巧妙.我们都知道html标记都是以"<" ">"组合而成,因此只要对这两个特别字符做特别处理即可,即把"<" 用"<",">"用">"代替,这样就可避免浏览器支持html语法了.详细语句如下: rstr=replace(rstr,"<","<",1) rstr=replace(rstr,">",">",1) response.write rstr \\\'这种方式简朴明了,不仅能的到准确结果,也不会有乱码,推荐使用。 返回类别: 教程 上一教程: 列出服务器上的打印机 下一教程: ASP发送E-MAIL 您可以阅读与"使ASP输出结果不支持HTML语法"相关的教程: · 谈谈如何在不支持数据库的ASP主页上运用ADO · IIS不支持ASP的解决办法 · 在不支持FSO的服务器上使用XMLDOM创建HTML文件 · 如何用ASP输出HTML文件 · 如何在不支持数据库的ASP主页上运用ADO |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |