asp过滤html代码问题

go786 2009-06-01 06:28:36
我想用asp把远程获取到的代码过滤掉所有html显示出来,但是刚刚遇见的问题就是我获取到的代码中含有双引号,这样就把asp的代码给结束掉了,所以代码就会出错。
下面是我用到的方法,请问谁能帮我改一下。我的思路是先把获取到的代码中的双引号替换一下或者删除掉,之后在过滤html,不过不会做。
<%
a=LoseHtml("<a href=>"百度首页"</a>")
Function LoseHtml(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "<\/*[^<>]*>"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseHtml = ClsTempLoseStr
End function
response.Write(""&a&"")
%>
上面我远程得到的代码中含有双引号,执行的时候就出错,应该怎么解决?
...全文
168 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenzhenNBA 2009-06-01
  • 打赏
  • 举报
回复
可以考虑把双引号替换成一个特殊的符号,比如字定义为 %shuangyihao% ,最后在操作完成后,根据需要可以把它还原或置空



<%
a=LoseHtml(" <a href=>"百度首页" </a>")

Function LoseHtml(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)

ClsTempLoseStr =replace(ClsTempLoseStr ,"""","%shuangyihao%")
'先处理双引号用自定义字符串代替

Set regEx = New RegExp
regEx.Pattern = " <\/*[^ <>]*>"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")

ClsTempLoseStr=replace(ClsTempLoseStr,"%shuangyihao%","""")
'还原,看情况可以修改成其它的或置空

LoseHtml = ClsTempLoseStr
End function

response.Write(""&a&"")
%>
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 go786 的回复:]
但是字符串中的字符不是我决定的,而是自动获取到的,我那样写只是举个例子。我想要的就是把我字符串中的双引号自动替换成单引号之后在进行过滤!
[/Quote]
抓取过来没关系的
抓取过来会自动转换的
go786 2009-06-01
  • 打赏
  • 举报
回复
但是字符串中的字符不是我决定的,而是自动获取到的,我那样写只是举个例子。我想要的就是把我字符串中的双引号自动替换成单引号之后在进行过滤!
hookee 2009-06-01
  • 打赏
  • 举报
回复
字符串中的双引号用2个双引号表示
a=LoseHtml(" <a href=>""百度首页"" </a>")

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧