php专区

 首页 > php专区 > 正则表达式 > asp 图片正则 替换,替换前检查图片是不是本地地

asp 图片正则 替换,替换前检查图片是不是本地地

分享到:
【字体:
导读:
          这个图片正则先检查图片的地址,不是本地的则用本地的asp突破盗链,方便使用,注意是答chinaz的朋友问的一个问题...

直接用正则替换,但没有判断功能
Function FormatImg(content)
dim re
Set re=new RegExp
re.IgnoreCase =true
re.Global=True
re.Pattern="(script)"
Content=re.Replace(Content,"script")
re.Pattern="]*src(=| )(.[^>]*)>"
Content=re.replace(Content,"")
set re = nothing
FormatImg = content
End Function
这段代码将内容中的图片替换成  这中形式的,
我现在需要提取$2的前7个字符,用来判断是否需要被替换,如果前7=特定的字符,就不要替换,但获取$2的前7 无法。大家有什么办法支下招撒? 

主要是参考了下面的代码,大家可以看下
'连接
re.Pattern = "[url=(.[^]]*)](.[^[]*)[/url]" 
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
tmpStr2=strMatch.SubMatches(1)
strContent=replace(strContent,strMatch.Value,""&tmpStr2&"",1,-1,0)
Next
这里是正则的Matchs的说明文档
http://www.jb51.net/article/15362.htm

下面由脚本之家测试代码,大家可以做出函数
<%
content2="中间一些内容"
dim re
Set re=new RegExp
re.IgnoreCase =true
re.Global=True
re.Pattern="]*src(=| )(.[^>]*)[/]?>"
set Matches=re.execute(content2)
For Each strMatch in Matches
tmpStr1=(strMatch.SubMatches(1))
tmpurl=replace(replace(tmpStr1,"'",""),"""","")
//response.write left(tmpurl,20)
if left(tmpurl,19)="http://www.jb51.net" then
picurl=tmpurl
else
picurl="http://img.jb51.net/showpic.asp?url="&tmpurl
end if
Content=replace(Content2,strMatch.Value,"")
Next
response.write Content
set re = nothing

%>
分享到:
java正则表达式彻底研究_正则表达式
 package testreg; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Title: 正则表达式的研究 * Description: * 最近在工作中常常用到一些正则表达式的使用问题,到网上去找介绍大多是一鳞半爪。求人不如 * 求已。一狠心,自己看!这两天利用我们项目两期之间的一点空闲对J2SE所支持的正则...
asp match正则函数使用Matchs实例_正则表...
  说明      Match   对象只能通过   RegExp   对象的   Execute   方法来创建,该方法实际上返回了   Match   对象的集合。所有的   Match   对象属性都是只读的。      在执行正则表达式时,可能产生零个或多个   Match   对象。每个   Match   对象提供了被正则表达...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……