id, --标识
tag, --关键词
title, --A标签的title属性
pageurl --指向地址
我是这么做的,先读出这些关键词,然后再循环Replace下,基本上算是完成了
不过还有些问题,比如关键词和A标签里的title属性有重复时它会把A标签里的title也替换掉。。。这样就很麻烦了,不是我想要的效果
比如我的关键词有:{网络,网站优化,http://www.XXXX.com},{营销,北京网络营销,http://www.XXXX.com},{优化,SEO优化,http://www.XXXX.com}
public static string ReplaceTextTag(string content) {
if (!string.IsNullOrEmpty(content)) {
System.Data.DataTable dt = new DAL.TextTag().GetList();
for (int i = 0; i < dt.Rows.Count; i++) {
content = content.Replace(dt.Rows[i]["Tag"].ToString(), "<a href=\"" + dt.Rows[i]["PageUrl"].ToString() + "\" title=\"" + dt.Rows[i]["Title"].ToString() + "\" target=\"_blank\">" + dt.Rows[i]["Tag"] + "</a>");
}
}
return content;
}
这样循环替换后就有问题了,怎么解决啊?用正则吗,怎么玩?还是有别的思路?请教下。。。
5 个解决方案
#1
我想知道你用的是什么控件显示这些关键字,
如果是datalist的话:
<a herf='<%# binder("pageurl")%>'><%# binder("tag")%></a>
如果是datalist的话:
<a herf='<%# binder("pageurl")%>'><%# binder("tag")%></a>
#2
关键词不用特定的控件显示,直接夹在文章里一起显示
比如:“这里是一句话”,数据库里有关键词:话,话题
就应该变成:“这里是一句<a href="http://www.xxx.com" title="关于X的话题">话</a>”
但循环后就变成了:“这里是一句<a href="http://www.xxx.com" title="关于X的<a href="http://www.xxx.com" title="讨论话题">话题</a>">话</a>”
看到没?连A标签里面的东西也替换了
能不能解决只给纯文本上的文字加链接,是用正则吧?怎么写。。。
比如:“这里是一句话”,数据库里有关键词:话,话题
就应该变成:“这里是一句<a href="http://www.xxx.com" title="关于X的话题">话</a>”
但循环后就变成了:“这里是一句<a href="http://www.xxx.com" title="关于X的<a href="http://www.xxx.com" title="讨论话题">话题</a>">话</a>”
看到没?连A标签里面的东西也替换了
能不能解决只给纯文本上的文字加链接,是用正则吧?怎么写。。。
#3
<a herf=' <%# binder("pageurl")%>' title='关于<%# binder("tag")%>的话题'> <%# binder("tag")%> </a>
为什么一定要搞的这么复杂呢????
为什么一定要搞的这么复杂呢????
#4
楼上的理解有问题,关键词是单独数据表存起来,和文章信息不相干
只是在显示文章的时候要把它里面本应的关键词加上链接,(关键词有好多,不止一个关键词对应一篇文章)
只是在显示文章的时候要把它里面本应的关键词加上链接,(关键词有好多,不止一个关键词对应一篇文章)
#5
关注 想学学!~
#1
我想知道你用的是什么控件显示这些关键字,
如果是datalist的话:
<a herf='<%# binder("pageurl")%>'><%# binder("tag")%></a>
如果是datalist的话:
<a herf='<%# binder("pageurl")%>'><%# binder("tag")%></a>
#2
关键词不用特定的控件显示,直接夹在文章里一起显示
比如:“这里是一句话”,数据库里有关键词:话,话题
就应该变成:“这里是一句<a href="http://www.xxx.com" title="关于X的话题">话</a>”
但循环后就变成了:“这里是一句<a href="http://www.xxx.com" title="关于X的<a href="http://www.xxx.com" title="讨论话题">话题</a>">话</a>”
看到没?连A标签里面的东西也替换了
能不能解决只给纯文本上的文字加链接,是用正则吧?怎么写。。。
比如:“这里是一句话”,数据库里有关键词:话,话题
就应该变成:“这里是一句<a href="http://www.xxx.com" title="关于X的话题">话</a>”
但循环后就变成了:“这里是一句<a href="http://www.xxx.com" title="关于X的<a href="http://www.xxx.com" title="讨论话题">话题</a>">话</a>”
看到没?连A标签里面的东西也替换了
能不能解决只给纯文本上的文字加链接,是用正则吧?怎么写。。。
#3
<a herf=' <%# binder("pageurl")%>' title='关于<%# binder("tag")%>的话题'> <%# binder("tag")%> </a>
为什么一定要搞的这么复杂呢????
为什么一定要搞的这么复杂呢????
#4
楼上的理解有问题,关键词是单独数据表存起来,和文章信息不相干
只是在显示文章的时候要把它里面本应的关键词加上链接,(关键词有好多,不止一个关键词对应一篇文章)
只是在显示文章的时候要把它里面本应的关键词加上链接,(关键词有好多,不止一个关键词对应一篇文章)
#5
关注 想学学!~