首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

给基本词加超链接,但忽略已有的超链接,及所有标签属性的内容

2013-01-11 
给关键词加超链接,但忽略已有的超链接,及所有标签属性的内容,给关键词加超链接,但忽略已有的超链接,及所有

给关键词加超链接,但忽略已有的超链接,及所有标签属性的内容,
给关键词加超链接,但忽略已有的超链接,及所有标签属性的内容,

举个例子:

条件:给所有带茶叶的关键词加链接

原字符串内容:

这儿是茶叶的链接。
<img src="茶叶.jpg" width="120" height="120" alt="给基本词加超链接,但忽略已有的超链接,及所有标签属性的内容" />
<span title="中国好茶叶">中国茶叶</span>
这儿是中国茶叶大观的链接。
这儿是<a href="原有的链接.html">茶叶</a>的现有链接。

要实现的效果:

这儿是<a href="新加的链接.html">茶叶</a>的链接。
<img src="茶叶.jpg" width="120" height="120" alt="给基本词加超链接,但忽略已有的超链接,及所有标签属性的内容" />
<span title="中国好茶叶">中国<a href="新加的链接.html">茶叶</a></span>
这儿是中国<a href="新加的链接.html">茶叶</a>大观的链接。
这儿是<a href="原有的链接.html">茶叶</a>的现有链接。

求高手给出正则表达式,谢谢。
[解决办法]


        private string ReplaceStr(Match m)
        {
            return "<a href=xxxxxx>" + m.Value + "</a>";
        }       

        private void button10_Click(object sender, EventArgs e)
        {            
            StreamReader reader = new StreamReader("c:\\1.txt");
            string source = reader.ReadToEnd();
            Regex reg = new Regex(@"(?<!((<a[^>].*?)
[解决办法]
(<span[^>].*?)))茶叶");
            source = reg.Replace(source, ReplaceStr);
            MessageBox.Show(source);

        }

[解决办法]
str=Regex.Replace(str,"(?<!")(茶叶)(?!"
[解决办法]
</a>)","<a href="新加的链接.html">$1</a>");
[解决办法]
(?<!"[^>]*)(茶叶)(?!"
[解决办法]
</a>)

代码中引号要转义

热点排行