好久没来了 提个问 关于ASP 正则的

xiaoyi1234 2009-11-16 02:05:44
最近研究正则
但是有些想法还没办到
1.怎么过滤iframe
以163首页为例
FLASH object script 已经成功过滤
就是该死的iframe 没过滤
用这个(<iframe){1,}[^<>]*>[^\0]*(<\/iframe>) 会把后面的内容 全部都过滤掉了
用这个"\<iframe.+?\<\/iframe\>" 没效果 iframe依然存在
请高手指点

2.怎么匹配超链接 并替换
比如把 http://yxp.163.com/store/ep.html?sss=frombk091105b#m=8
类似地址替换成 xxx.asp?url=http://yxp.163.com/store/ep.html?sss=frombk091105b#m=8
注意不要把 图片链接地址也替换了

3.匹配图片地址 并处理
如果图片地址本身 就是http开始的 就不处理
如果不是以http开始的 就为他加上绝对地址 比如 src="image/logo.gif" 处理成 src="http://www.163.com/image/logo.gif"
注意有些是 用CSS或者js指定的 src 也要替换


请高手指点 谢谢
...全文
80 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyi1234 2009-11-18
  • 打赏
  • 举报
回复

Function urlr(str)

Set re=new RegExp
re.IgnoreCase =True
re.Global=True

re.Pattern="(href=[""']?)(.+?)([""']?\s)"

Set strMatchs = re.Execute(str)


str=re.Replace(str,"href=xxx.asp?url=$2")


urlr=str
End Function

我这样替换的时候 地址后面总是多个"
很郁闷
  • 打赏
  • 举报
回复
1.可以用
<\/?iframe[^ <>]*>
2.3点在论坛里讨论多次了
你可以自己搜索
anbs01 2009-11-16
  • 打赏
  • 举报
回复
我已经不玩正则好多年!
  • 打赏
  • 举报
回复
http:\/\/[a-zA-Z0-9_](\.[a-zA-Z0-9_]+)+(\/[a-zA-Z0-9_]+)*\/[a-zA-Z0-9_]+.(html|htm|asp|jsp|php)...后面的懒得匹配了有时间接着做...
  • 打赏
  • 举报
回复
用这个( <iframe){1,}[^ <>]*>[^\0]*( <\/iframe>) 会把后面的内容 全部都过滤掉了

你的正则没错.....
parss 2009-11-16
  • 打赏
  • 举报
回复
好久没玩正则了

28,391

社区成员

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

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