如何把URL和邮件地址转换为超级链接?

所属分类: 网络编程 / 编程10000问 阅读数: 2024
收藏 0 赞 0 分享

Function InsertHyperlinks(inText)
Dim objRegExp, strBuf
Dim objMatches, objMatch
Dim Value, ReplaceValue, iStart, iEnd

  strBuf = ""
  iStart = 1
  iEnd = 1
  Set objRegExp = New RegExp

  objRegExp.Pattern = "\b(www|http|\S+@)\S+\b" 

' 判断URLsemails.
  objRegExp.IgnoreCase = True                 

' 设置大小写不敏感..
  objRegExp.Global = True                     

' 全局适用.
  Set objMatches = objRegExp.Execute(inText)
  For Each objMatch in objMatches
    iEnd = objMatch.FirstIndex
    strBuf = strBuf & Mid(inText, iStart, iEnd-iStart+1)
    If InStr(1, objMatch.Value, "@") Then
      strBuf = strBuf & GetHref(objMatch.Value, "EMAIL", "_BLANK")
    Else
      strBuf = strBuf & GetHref(objMatch.Value, "WEB", "_BLANK")
    End If
    iStart = iEnd+objMatch.Length+1
  Next
  strBuf = strBuf & Mid(inText, iStart)
  InsertHyperlinks = strBuf
End Function

Function GetHref(url, urlType, Target)
Dim strBuf

  strBuf = "<a href="""
  If UCase(urlType) = "WEB" Then
    If LCase(Left(url, 3)) = "www" Then
      strBuf = "<a href=""URL:" & url & """
超级链接:""" & _
              Target & """>" & url & "</a>"
    Else
      strBuf = "<a href=""" & url & """
超级链接:""" & _
              Target & """>" & url & "</a>"
    End If
  ElseIf UCase(urlType) = "EMAIL" Then
    strBuf = "<a href=""
电子邮件地址:" & url & """链接目标:""" & _
            Target & """>" & url & "</a>"
  End If
  GetHref = strBuf
End Function

 

 

[1]

更多精彩内容其他人还在看

如何让计数器只对新进用户计数?

如何让计数器只对新进用户计数?
收藏 0 赞 0 分享

如何实时获知多少人在线?

如何实时获知多少人在线?
收藏 0 赞 0 分享

如何最准确地统计在线用户数?

如何最准确地统计在线用户数?
收藏 0 赞 0 分享

如何实现点击数的计算?

如何实现点击数的计算?
收藏 0 赞 0 分享

如何随机显示图片计数器?

如何随机显示图片计数器?
收藏 0 赞 0 分享

如何用数据库制作一个多用户版的计数器?

如何用数据库制作一个多用户版的计数器?
收藏 0 赞 0 分享

如何制作一个防止多次刷新计数的图片计数器?

如何制作一个防止多次刷新计数的图片计数器?
收藏 0 赞 0 分享

如何做一个计数器并让人家申请使用?

如何做一个计数器并让人家申请使用?
收藏 0 赞 0 分享

统计在线人数是实时的吗?

统计在线人数是实时的吗?
收藏 0 赞 0 分享

图像图表

图像图表
收藏 0 赞 0 分享
查看更多