关键字替换链接

fjxmcyh 2009-08-18 04:51:25
现在一个文章系统,有一个关键字表,然后在发布的时候根据这个表进行关键字替换,现在替换的时候有几个问题想请教下:

1.关键字在<img alt='关键字' />,在这里面的时候就不替换,直接跳过要怎么实现

2.关键字在<a href='' title='关键字'>关键字</a>的时候也直接跳过

要不然的话一替换就全部乱掉了,希望各位帮忙解决下啊,谢谢啦!
...全文
205 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
小刘哈哈 2012-05-19
  • 打赏
  • 举报
回复
我也在做这样的 问题 留下
luyuanzhong 2009-08-29
  • 打赏
  • 举报
回复
提示 无效的表达式项“delegate” 如何解决的?
Lovely_baby 2009-08-19
  • 打赏
  • 举报
回复
是不是要用很复杂的正则吧
wbuild 2009-08-19
  • 打赏
  • 举报
回复
还没人解答呀,还想进来看看答案呢
编程有钱人了 2009-08-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fjxmcyh 的回复:]
是不是大家都下班啦,帮忙啊
[/Quote]

这个比较难了

呼叫客客吧

中午他上线
wbuild 2009-08-19
  • 打赏
  • 举报
回复
也需要,帮顶
fjxmcyh 2009-08-19
  • 打赏
  • 举报
回复
刚想上来看看,就看到楼上的给出答案了,太感谢了

结贴
wbuild 2009-08-19
  • 打赏
  • 举报
回复
找到答案了,LZ,试试看吧


string test = @"<a href=""http://中国.com"" title=""我爱中国"">虽然我在新加坡长大,但我是中国人 </a>
<div title=""中国的美"">伟大的中国 </div>";
string result = Regex.Replace(test, @"(?<=^|</a>|<(?!/?a)[^>]*>)[^<>]*?(?=<a[^>]*>|<(?!/?a)[^>]*>|$)", delegate(Match m) { return m.Value.Replace("中国", @"<a href=""www.china.net"">中国</a>"); }, RegexOptions.IgnoreCase);
richTextBox2.Text = result;
zyug 2009-08-19
  • 打赏
  • 举报
回复
这个问题以前也有很多人讨论过.用正则还是有局限性.特别是一些html不规则的时候,没有闭合呀等等
wbuild 2009-08-19
  • 打赏
  • 举报
回复
继续帮顶起来
wbuild 2009-08-19
  • 打赏
  • 举报
回复
为了知道答案,进来顶一下
fjxmcyh 2009-08-18
  • 打赏
  • 举报
回复
自己顶下,大家帮忙啊
fjxmcyh 2009-08-18
  • 打赏
  • 举报
回复
是不是大家都下班啦,帮忙啊
fjxmcyh 2009-08-18
  • 打赏
  • 举报
回复
我重新说下,就是比如下面这样的文字:
aaaaaaaaaaabbbbbbbbbbbbbbccccccccccccccccc关键字,aaaaaaabbbbbbbcccccccccccc关键字
<img alt='aa关键字bb' src="*****" /> <a href="******">关键字</a>
fasfasdfasdfas关键字,fsafasdfsaf关键字

我想实现的是红色的关键字的地方替换成我自己的链接,在<img 和 <a 之间的关键字就不替换了

谢谢啦!
c168ylf 2009-08-18
  • 打赏
  • 举报
回复
把代码发上来看看
evaa006 2009-08-18
  • 打赏
  • 举报
回复
问题表达的不太清楚
编程有钱人了 2009-08-18
  • 打赏
  • 举报
回复
都跳过 了 那还替换啥?
告诉我什么情况不跳过?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧