服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - 正则表达式 - asp下正则实现URL自动链接的一个函数

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

2020-07-16 16:06正则之家 正则表达式

本文主要讲解asp下正则实现URL自动链接的一个函数,具有一定的参考价值,有需要的朋友可以了解下

  1. Function AutoLinkURLs(strString)    
  2.     Dim match, matches, offset, url, email, link, relnkAutoLinkURL    
  3.     relnkAutoLinkURL = "<a href=""[[%URL%]]"">[[%URLText%]]</a>"    
  4.     If Not IsObject(regExp) Then Set regExp = New RegExp    
  5.     regExp.Global = True    
  6.     regExp.IgnoreCase = True    
  7.     'Look for URLs    
  8.     regExp.Pattern = "(((ht|f)tps?://)|(www\.))([\w-]+\.)+[\w-:]+(/[\w- ./?%#;&=]*)?"    
  9.     Set matches = regExp.Execute(strString)    
  10.     offset = 0    
  11.     For Each match in matches    
  12.         url = match    
  13.         If Left(url, 4) = "www." Then url = "http://" & url    
  14.         link = Replace(Replace(relnkAutoLinkURL, "[[%URLText%]]", match), "[[%URL%]]", url)    
  15.         strString = Mid(strString, 1, match.FirstIndex + offset) & link & Mid(strString, match.FirstIndex + 1 + match.Length + offset, Len(strString))    
  16.         offset = offset + Len(link) - Len(match)    
  17.     Next    
  18.     'Look for emails    
  19.     regExp.Pattern = "[A-Za-z0-9_+-.']+@\w+([-.]\w+)*\.\w+([-.]\w+)*"    
  20.     Set matches = regExp.Execute(strString)    
  21.     offset = 0    
  22.     For Each match in matches    
  23.         email = match    
  24.         link = Replace(Replace(relnkAutoLinkURL, "[[%URLText%]]", match), "[[%URL%]]""mailto:" & email)    
  25.         strString = Mid(strString, 1, match.FirstIndex + offset) & link & Mid(strString, match.FirstIndex + 1 + match.Length + offset, Len(strString))    
  26.         offset = offset + Len(link) - Len(match)    
  27.     Next    
  28.     AutoLinkURLs = strString    
  29. End Function 

延伸 · 阅读

精彩推荐