通行证:用 户 密 码 注册 www.pconline.cn 汽车网 游戏网 时尚女性
  太平洋电脑网
首 页 |
论 坛 |
今日报价 | 产业资讯 | 产品库 | 数 码 | 硬 件 | 软 件 | 下 载 | 招聘培训 | 摄 影
网络设备 | 办公设备 | 服务器 | 二 手 | 游 戏 | 通 信 | 评测室 | 渠道商情 | 视 频
分站:北京 上海 广州 深圳 香港 广西
重庆 山东 江苏 辽宁 福建 成都 西安
手机
手 机
数码相机
数码相机
随身听
随身听
笔记本
笔记本
台式机
台式机
DIY配件
DIY配件
摄像机
摄像机
数字家庭
数字家庭
精品廊
精品廊
 
 
   
首页 新闻 应用 评测 教你学电脑 信息安全 创意设计 开发特区 下载 专题 社区  
 
特色专区:QQ大本营 | msn总动员 | 精品导用 | 组网专栏 | 设计素材 | Flash剧场 | Photoshop专区 | 视频专栏 | CG专栏 | KC通讯
 
您现在的位置: 软件资讯 > 开发特区 > .net技术
在ASP.NET中自动给URL地址加上超链接
出处:PConline[ 2006-04-25 09:29:23 ] 作者:Roland Luo 责任编辑:xietaoming

  作为一个程序员,在完成设计后还要根据程序的情况以及用户的反映不断对程序进行改进,这样才能不断地完善自己的作品。笔者在制作完软件商务网的论坛后,发现人们总喜欢在帖子中加上各种有用的URL链接或Email地址。而笔者当初设计时没有考虑到这一点,使得这些URL链接或Email地址只能以文字的形式而并不是以超链接的形式显示,其它浏览帖子的人还必须把这些URL链接拷贝到浏览器中或把Email地址拷贝到Outlook中才能转到相应的链接地址或发送电子邮件到相应的Email地址。

  发现这个问题后,笔者即着手进行解决。首先是从网上查找有关这方面的现在代码,可惜的是,在搜索引擎上反复查找也没有发现这方面的文章。后来一想,干脆自己用ASP.NET编写一个。

  要想自动显示超链接的关键在于如何能正确识别超链接,毫无疑问的,最有效的方法是用正则表达式。正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式,描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。.NET基础类库中包含有一个名字空间和一系列可以充分发挥规则表达式威力的类,用它就可以自动探测出文字中的URL链接或Email地址。下面具体讲讲如何用ASP.NET(C#)一步步实现我们的目的:

  首先,要想在ASP.NET(C#)中使用正则表达式就必须把 System.Text.RegularExpressions 这个命名空间包含进来:

using System.Text.RegularExpressions;

  第二步是用正则表达式识别URL超链接:

Regex urlregex = new Regex(@"(http:\/\/([\w.]+\/?)\S*)",
   RegexOptions.IgnoreCase|RegexOptions.Compiled);

  这里的代码是用正则表达式识别Email地址:

Regex emailregex = new Regex(@"([a-zA-Z_0-9.-]+\@[a-zA-Z_0-9.-]+\.\w+)",
   RegexOptions.IgnoreCase|RegexOptions.Compiled);

  第三步,当程序已经识别出URL超链接或Email地址后,必须用<a href=...>超链接</a>对这些超链接进行替换,这样才能把这些文字显示为链接的形式。我这里把它们全部包含在函数中:

private void Button1_Click(object sender, System.EventArgs e)
{
   string strContent = InputTextBox.Text;
   Regex urlregex = new Regex(@"(http:\/\/([\w.]+\/?)\S*)",
                    RegexOptions.IgnoreCase| RegexOptions.Compiled);
   strContent = urlregex.Replace(strContent,
                "<a href=\"\" target=\"_blank\"></a>");
   Regex emailregex = new Regex(@"([a-zA-Z_0-9.-]+\@[a-zA-Z_0-9.-]+\.\w+)",
      RegexOptions.IgnoreCase| RegexOptions.Compiled);
   strContent = emailregex.Replace(strContent, "<a href=mailto:></a>");
   lbContent.Text += "<br>"+strContent;
}

  通过以上几步,你就可以在网页上自动显示超链接以及Email地址了。欢迎大家下载本示例的源代码,以及到www.bizsofts.com 的论坛上观看实际效果。

  下一篇:月薪数万的.net开发招聘趣题两则  
更多相关搜索: ASP.NET    URL    超链接    正则表达式   
正在加载评论,请稍候…

  发给好友 我要报错 投稿给我们 加入收藏 返回顶部  

本栏今日更新
相关文章
·体贴入微:Foxmail 6.0 beta 3之初体验
·Vista5365截图+下载及最新技术预览(多图)
·MacOSX10.5将可以运行Windows软件?
·Adobe明年春季推出Mac-Intel版PS
·更新换代QQ Mail 3.0亮点解析
·AutoDialogs 进出文件夹的高速公路
·Dreamweaver轻松制作网页滚动布告栏
·华纳出品-丛林冒险11集
·如何在Dreamweaver中嵌入式框架
·在Dreamweaver中巧用框架建立网站
·如何在Dreamweaver中快速定义站点?
·在Dreamweaver中构建ASP.net开发环境
·Dreamweaver网页设计与制作实例精选
·视频教程:ASP.Net快速开发新闻系统
·首发!Frontpage12多项新功能试用报告
·Asp.net直接保存文件到客户端
关于我们 | 网站地图 | 广告指南 | 联系我们 | 招聘精英 | 合作联系


广东省通信管理局
ICP证粤B2-20040647
互联网清理整顿
技术支持与报障:support@pconline.com.cn
        020-87568837         
对本站有任何建议、意见或投诉,请点这里在线提交.
本网站简体、繁体两种版本,以简体版为准
PConline版权所有,未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任__