用正则表达式做内容关键字链接
来源:互联网 发布:阿里云子目录绑定域名 编辑:程序博客网 时间:2024/05/17 03:01
private void rc()
{
string str1 = "<img src=/"sss.jpg/" alt=/"网络技术网络;网络应用/">网络技术网络;网络应用 网络基本知识 <img src=/"sss.jpg/" alt=/"网络技术网络;网络应用/"><a href=/"http://www.stobar.cn/">网络技术网络;网络应用 网络基本知识</a>";
List<string> keys = new List<string>();
keys.Add("网络");
keys.Add("网络技术");
keys.Add("网络基本");
string result = keyAddUrl(str1, keys,"http://www.baidu.com/");
this.Label1.Text = result;
}
/// <summary>
/// 给关键字加链接,同一关键字只加一次
/// </summary>
/// <param name="src">源字符串</param>
/// <param name="keys">关键字泛型</param>
/// <param name="keys">链接地址</param>
/// <returns>替换后结果</returns>
private string keyAddUrl(string src, List<string> keys ,string URL)
{
Regex reg = new Regex(@"(?i)(?:^|(?<!<a/b(?>[^<>]*))>)(?>[^<>]*)(?:<|$)");
int length = 0;
string temp = string.Empty;
return reg.Replace(src, delegate(Match m)
{
temp = m.Value;
length = temp.Length;
for (int i = keys.Count - 1; i >= 0; i--)
{
temp = Regex.Replace(temp, @"(?is)^((?:(?:(?!" + Regex.Escape(keys[i]) + @"|</?a/b).)*<a/b(?:(?!</?a/b).)*</a>)*(?:(?!" + Regex.Escape(keys[i]) + @"|</?a/b).)*)(?<tag>" + Regex.Escape(keys[i]) + @")", @"$1<a href="+URL+" target=/"_blank/" title=/"${tag}/">${tag}</a>");
if (length != temp.Length)
{
keys.Remove(keys[i]);
}
length = temp.Length;
}
return temp;
});
}
- 用正则表达式做内容关键字链接
- 使用正则表达式对文章关键字做高亮度显示
- 正则表达式匹配关键字
- 正则表达式-屏蔽关键字
- 用正则表达式转换http地址链接
- 用正则表达式提取网页中的链接
- 正则表达式相关链接
- 正则表达式链接
- 用正则表达式抽取括号内容
- 正则表达式验证内容
- 做网站经常要用正则表达式
- 微博内容正则表达式匹配链接, 话题标签与@用户
- Java进阶(十九)利用正则表达式批处理含链接内容文档
- Java进阶(十九)利用正则表达式批处理含链接内容文档
- 正则表达式获取网页链接
- 正则表达式取HTTP链接
- 正则表达式获取网页链接
- 正则表达式 相关学习链接
- Hive随谈(三):Hive和数据库的异同
- BW:InfoSet数据状态滞后问题
- 人生到底在追求什么
- 真正爱你的男孩
- Hibernate简介
- 用正则表达式做内容关键字链接
- event对象
- 如何将CString转换为double VS2005
- PHP使用技巧
- javascript自定义多级Select
- 使用JDBC函数获取表结构信息
- 第一堂离散数学课,老师的问题:生死门问题
- jQuery 倒计时 例子
- 《人月神话》读书笔记