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
相关文章读者评论发表评论 |