十年专注于品牌网站建设 十余年专注于网站建设_小程序开发_APP开发,低调、敢创新、有情怀!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

asp将内容中链接地址转成可在新窗口打开的有效地址

百恒网络 2013-05-06 5917

在添加内容过程中,我们经常需要添加一些网址,同时需要这些网址显示出来就可以点击并在新窗口打开.例如客户信息备注,订单信息备注等内容中经常要使用到此类功能,下面由南昌网站建设公司工程向大家介绍实现方法,以下代码也是经过常期使用,确定功能达到预期要求,希望此代码能对广大南昌网络公司技术人员有所帮助:

1.例如:有以下内容

南昌网站设计公司网址是http://www.jxbh.cn 其中有一篇专业介绍Mysql中DATE_SUB 使用方法结合查询一天内,一周内,一月内的文章 http://www.jxbh.cn/newshow.asp?id=1347&tag=2

我们在文本框内输入这些内容,前台显示出来就能打开这些链接.

2.定义变量(也可以获取数据库内容)

Content="南昌网站设计公司网址是http://www.jxbh.cn/ 其中有一篇专业介绍Mysql中DATE_SUB 使用方法结合查询一天内,一周内,一月内的文章 http://www.jxbh.cn/newshow.asp?id=1347&tag=2

3.输出 

response.Write(AutoLink(Content))

重点:

Function AutoLink(TextContent)

Dim match, matches, offset, url, email, link, relnkAutoLinkURL

relnkAutoLinkURL = "[[%URLText%]]"

If Not IsObject(regExp) Then Set regExp = New RegExp

regExp.Global = True

regExp.IgnoreCase = True

'查找链接地址

regExp.Pattern = "(((ht|f)tps?://)|(www.))([w-]+.)+[w-:]+(/[w- ./?%#;&=]*)?"

Set matches = regExp.Execute(TextContent)

offset = 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)

TextContent = Mid(TextContent, 1, match.FirstIndex + offset) & link & Mid(TextContent, match.FirstIndex + 1 + match.Length + offset, Len(TextContent))

offset = offset + Len(link) - Len(match)

Next

'查找邮箱地址

regExp.Pattern = "[A-Za-z0-9_+-.']+@w+([-.]w+)*.w+([-.]w+)*"

Set matches = regExp.Execute(TextContent)

offset = 0

For Each match in matches

email = match

link = Replace(Replace(relnkAutoLinkURL, "[[%URLText%]]", match), "[[%URL%]]", "mailto:" & email)

TextContent = Mid(TextContent, 1, match.FirstIndex + offset) & link & Mid(TextContent, match.FirstIndex + 1 + match.Length + offset, Len(TextContent))

offset = offset + Len(link) - Len(match)

Next

AutoLink = TextContent

End Function

可以根据用户需求可控制是否在新窗口打开链接,还是在当前窗口打开链接,由此处代码控制,[[%URLText%]],如果不加 target='_blank' 则在当前窗口打开该链接.


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×