专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程综合 » asp正则函数:asp下正则实现URL自动链接的一个函数 »正文

asp正则函数:asp下正则实现URL自动链接的一个函数

来源: 发布时间:星期日, 2009年9月6日 浏览:59次 评论:0
复制代码 代码如下:

Function AutoLinkURLs(strString)
Dim match, matches, off, url, email, link, relnkAutoLinkURL
relnkAutoLinkURL = "<a href=""[[%URL%]]"">[[%URLText%]]</a>"
If Not IsObject(regExp) Then Set regExp = New RegExp
regExp.Global = True
regExp.IgnoreCase = True
'Look for URLs
regExp.Pattern = "(((ht|f)tps?://)|(www\.))([\w-]+\.)+[\w-:]+(/[\w- ./?%#;&=]*)?"
Set matches = regExp.Execute(strString)
off = 0
For Each match in matches
url = match
If Left(url, 4) = "www." Then url = "http://" & url
link = Replace(Replace(relnkAutoLinkURL, "[[%URLText%]]", match), "[[%URL%]]", url)
strString = Mid(strString, 1, match.FirstIndex + off) & link & Mid(strString, match.FirstIndex + 1 + match.Length + off, Len(strString))
off = off + Len(link) - Len(match)
Next
'Look for emails
regExp.Pattern = "[A-Za-z0-9_+-.']+@\w+([-.]\w+)*\.\w+([-.]\w+)*"
Set matches = regExp.Execute(strString)
off = 0
For Each match in matches
email = match
link = Replace(Replace(relnkAutoLinkURL, "[[%URLText%]]", match), "[[%URL%]]", "mailto:" & email)
strString = Mid(strString, 1, match.FirstIndex + off) & link & Mid(strString, match.FirstIndex + 1 + match.Length + off, Len(strString))
off = off + Len(link) - Len(match)
Next
AutoLinkURLs = strString
End Function



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: