人们总喜欢在帖子中加上各种有用的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地址了

转载于:https://www.cnblogs.com/Nina-piaoye/archive/2007/10/30/943291.html

asp.net实现在网页上自动显示超链接以及Email地址相关推荐

  1. 如何在html上显示时间设置,js实现在网页上简单显示时间的方法

    本文实例讲述了js实现在网页上简单显示时间的方法.分享给大家供大家参考.具体如下: 这是一款网页时钟JS代码,纯javascript实现,显示时.分.秒.网页时间显示.网页时钟有很多,这个真的挺简易的 ...

  2. CSS设置了正确的背景图片位置,网页上却显示不出来?

    关于CSS中设置背景图片但在网页上未显示做如下笔记,和大家分享.. 如有说的不对或不恰当的地方,希望读者指出,共同进步. 今天在写一个小项目的时候在一个点上疑惑了许久,明明我的背景图片路径设置的不会错 ...

  3. 有没有大佬知道,有哪些可以在网页上自动填写账号密码并登录的方法?

    有没有大佬知道,有哪些可以在网页上自动填写账号密码并登录的方法?比如说我开了十个隐身窗口,用十个小号来登录这个网站,但是手打太累了.所以想求助万能的大佬,有没有什么方法可以实现自动填写账号密码并登录的 ...

  4. 终于可以在html上自动显示汉字拼音了

    在上一篇讲在html显示拼音标签的文章里面,我最开始也误会了,只要加了<ruby>标签,就能自动显示汉字的拼音,但显然,这只是一个美好的想法,实际上拼音什么的还得靠自己手工来,但在程序员的 ...

  5. HTML在网页上不能显示图片问题

    我遇到的问题是写了一个HTML程序,结果在网页上面不能显示,原因是图片路径放置错了. 修改前代码: <!DOCTYPE html> <html> <head> &l ...

  6. 利用Asp.net中的AJAX制作网页上自动选取开始日期及结束日期的用户自定义控件...

    前段时间用过一个酒店入住预约网站,当你点击"入住时间"时会悬浮出一对并列的日历,然后点击左边的日历就能选择入住时间,点击右侧的日历就能自动得到离店时间,当时没有太留意是怎么实现的, ...

  7. 网页上符号显示成方框_如何在word、PPT、Excel以及PDF中添加带√的方框

    办公的时候,我们接触到的是各种不同格式的文档,那么关于他们的编辑,大家又了解多少呢?比如说,在文档中添加带√的方框,应该如何添加? 今天这里就分享Word.PPT.Excel以及PDF的添加方法,希望 ...

  8. 使png 图片在网页上透明显示

    周六参加webtech 第八期web交流会,讲到图片优化方面,其实涉及到一个png图片替代gif ,但是在网页中无法实现透明效果. 观察淘宝的图片,其实都是png的.解决的方案是采用png-8 实现透 ...

  9. 解决Github网页上头像显示失败的问题

    最近不知道为什么突然GitHub上的头像显示不出了. 打开控制台,错误是Failed to load resource: net::ERR_CERT_COMMON_NAME_INVALID 实际上,可 ...

最新文章

  1. bzoj1079: [SCOI2008]着色方案(DP)
  2. python安装准备_Python安装准备
  3. linux安装tree命令
  4. 从netty-example分析Netty组件续
  5. 【RegExp】JavaScript中正则表达式判断匹配规则以及常用方法
  6. http简介看这篇就够了
  7. 用C#编写Linux守护进程
  8. PHP正则判断手机号码格式/邮箱正则
  9. Linq to Xml (1) 创建和查询包含命名空间的XML文档
  10. 边做边学小型封装--利用主流框架进行Dao层通用化,Spring3.0+Hibernate3.3.2通用Dao层整合(四)...
  11. 单播/组播/广播 通讯协议的特点及应用对比
  12. Echarts之风力风速玫瑰图
  13. asp.net mvc3 简单的文件上传下载
  14. 跨平台应用开发进阶(四) :uni-app 实现上传图片
  15. android 投屏 车载,车载投屏怎么连接
  16. Android中实现简单的仿京东详情页面
  17. 美国乳品公司试点区块链技术改善食品供应链
  18. 电脑进不了系统的情况下如何重装win7,电脑无法开机如何重装win7
  19. 推荐 C++图书三人谈
  20. 老男孩Python毒鸡汤-金角大王Alex

热门文章

  1. 计算机cg专业,cg行业要学哪个专业好
  2. usb禁止重定向_远程桌面中的USB重定向技术解析(功能篇)
  3. server sql 数据c盘迁移d盘_oracle 11g dbf数据文件从C盘迁移到D盘
  4. c oracle long raw,初次用Oracle,不会用Long Raw类型,请大家帮忙看看
  5. php 输出任意一个数,php 生成任意范围的水仙花数
  6. echarts切换折线图变大_这个月,我就和折线图杠上了...
  7. flex和bison实例分析
  8. C语言中的指针和内存泄漏
  9. opencv根据直线方程求交点坐标
  10. IDEA配置NodeJS项目遇到问题及解决