直接用正则替换,但没有判断功能
FunctionFormatImg(content)
dimre
Setre=newRegExp
re.IgnoreCase=true
re.Global=True
re.Pattern="(script)"
Content=re.Replace(Content,"script")
re.Pattern="<img.[^>]*src(=|)(.[^>]*)>"
Content=re.replace(Content,"<imgsrc=$2style=""cursor:pointer""alt=""在新窗口中打开浏览""onclick=""javascript:window.open(this.src);""onload=""javascript:resizepic(this)""border=""0""/>")
setre=nothing
FormatImg=content
EndFunction
这段代码将内容中的图片替换成<imgsrc=$2style="cursor:pointer"alt="在新窗口中打开浏览"onclick="javascript:window.open(this.src);"onload="javascript:resizepic(this)"border="0"/>这中形式的,
我现在需要提取$2的前7个字符,用来判断是否需要被替换,如果前7=特定的字符,就不要替换,但获取$2的前7无法。大家有什么办法支下招撒?
主要是参考了下面的代码,大家可以看下
'连接
re.Pattern="[url=(.[^]]*)](.[^[]*)[/url]"
SetstrMatchs=re.Execute(strContent)
ForEachstrMatchinstrMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
tmpStr2=strMatch.SubMatches(1)
strContent=replace(strContent,strMatch.Value,"<atarget=""_blank""href="""&tmpStr1&""">"&tmpStr2&"</a>",1,-1,0)
Next
这里是正则的Matchs的说明文档
http://www.jb51.net/article/15362.htm
下面由查字典教程网测试代码,大家可以做出函数
<%
content2="<imgsrc='http://www.jb51.net/images/logo.gif'width=100/>中间一些内容<imgsrc='http://www.kanshule.com/indeximg/logo.GIF'width=200/>"
dimre
Setre=newRegExp
re.IgnoreCase=true
re.Global=True
re.Pattern="<img.[^>]*src(=|)(.[^>]*)[/]?>"
setMatches=re.execute(content2)
ForEachstrMatchinMatches
tmpStr1=(strMatch.SubMatches(1))
tmpurl=replace(replace(tmpStr1,"'",""),"""","")
//response.writeleft(tmpurl,20)
ifleft(tmpurl,19)="http://www.jb51.net"then
picurl=tmpurl
else
picurl="http://img.jb51.net/showpic.asp?url="&tmpurl
endif
Content=replace(Content2,strMatch.Value,"<imgsrc="&picurl&"style=""cursor:pointer""alt=""在新窗口中打开浏览""onclick=""javascript:window.open(this.src);""onload=""javascript:resizepic(this)""border=""0""/>")
Next
response.writeContent
setre=nothing
%>