快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

使ASP输出结果不支持HTML语法

有时候我们会为这样一个问题而烦恼,就是如何在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
    微笑服务 优质保证 索取样品