ASP项目开发的时候,遇到一个问题,就是文章编辑器添加图片时,有可能是绝对路径,相对路径,或者第三方网站图片插入。类似这样的
/UploadFile/image/20161125/20161125183023552355.jpg
http://www.021jz.com.cn/UploadFile/image/20161125/20161125183023552355.jpg
现在实现的功能是,把相对路径改成绝对路径,如果是绝对路径就不替换。
第一步:第一步先把相对路径改成绝对路径
function replace_Img(byval str)
'这里使用asp正则方法,替换相对路径变成绝对路径
replace_Img=expReplace(str,"<img([^<]*)src=\""([^' ""]+)\""","<img alt="""" src=""http://www.021jz.com.cn$2""")
end function
'正则替换expReplace
'a 替换前字符串
'reg 正则表达式
'c 替换后字符串
Function expReplace(ByVal a,ByVal reg,ByVal c)
Dim regEx, Match, Matches
Set regEx = New RegExp
regEx.Pattern = reg
regEx.IgnoreCase = True
regEx.Global = True
RetStr =regEx.Replace(a, c)
expReplace = RetStr
End Function
第二步:这段代码解决下面遇到的问题,就是第一步先把本站网站替换成空的,第二步在把多的网址替换成http://
response.write replace(replace_Img(replace(str,http://www.021jz.com.cn,"")),"http://www.021jz.com.cnhttp://","http://")
以上是我自己的方法,应该还有更好的方法……