首 页IT知识库翔宇问吧收藏本站
当前位置:翔宇亭IT乐园IT知识库WEBASP.NET

在ASP.NET中自动给URL地址加上超链接

减小字体 增大字体 作者:不详  来源:转载  发布时间:2010-07-17 09:07:00

要想自动显示超链接的关键在于如何能正确识别超链接,毫无疑问的,最有效的方法是用正则表达式。正则表达式是由普通字符(例如字符 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地址了。欢迎大家下载本示例的源代码,以及到http://www.bizsofts.com 的论坛上观看实际效果。(作者注:该篇文章的英文版已经发表在CodePoject和CodeGuru上)


本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!

Tags:ASP.NET URL

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

用户名: 查看更多评论

分 值:100分 90分 80分 70分 60分 40分 20分

内 容:

请注意用语文明且合法,不要发布带有攻击性、侮辱性的言论,谢谢合作!

验证码:

关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图 | 用户守则 | 联系我们
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2019 biye5u.com. All Rights Reserved.
网站备案号:黑ICP备13005378号-3