我写的全文关键字变超链。关于图片alt有关键词问题

冬天里的小生命 2012-05-08 06:30:15

public static string getContentBysystenkeyword(object obj)
{
string content = "";
if (obj == null || obj.ToString().Trim() == "")
{
return "";
}
content = obj.ToString();

List<MSystemKeyword> list = HttpContext.Current.Cache["SystemKeyword"] as List<MSystemKeyword>;
if (list == null)
{
BSystemKeyword syskeywordbll = new BSystemKeyword();
syskeywordbll.path = HttpContext.Current.Server.MapPath("/App_Data/SystemKeywords.xml");
list = syskeywordbll.getList("Enabled=True");
if (list == null)
list = new List<MSystemKeyword>();
System.Web.Caching.CacheDependency dep = new System.Web.Caching.CacheDependency(
HttpContext.Current.Server.MapPath("/App_Data/SystemKeywords.xml"));
HttpContext.Current.Cache.Insert("SystemKeyword", list, dep);
}

foreach (MSystemKeyword m in list)
{
string target = " target=\"_blank\"";
content = System.Text.RegularExpressions.Regex.Replace(content, "(?<=[^>]*)(" + m.LookExpression + ")(?![^<]*</a>)", "<a title=\"" + m.Title + "\""
+ "alt=\"" + m.Alt + "\"" + target + " href=\"" + m.Link + "\">$1</a>");
}

return content;
}


如果一个关键字:中国
一个单页面出现中国的会加一个链接。如果图片的Title或alt出现中国,那么图片就坏掉了
有高手遇到过这问题吗?求助
...全文
223 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]
假设你遇到了一个语法分析之后才能翻译出来结果的需求,却去妄想用什么正则来“解决”,这不就是太幼稚了嘛。

正则只能干最简单最低级的工作,它只是分析基本单词用来作为语法分析程序的输入,而不是搞高级的翻译工作的!
[/Quote]
那你给个例子我看下
  • 打赏
  • 举报
回复
你应该去找一个html语法分析程序,这个程序给出html语法结构树。
  • 打赏
  • 举报
回复
假设你遇到了一个语法分析之后才能翻译出来结果的需求,却去妄想用什么正则来“解决”,这不就是太幼稚了嘛。

正则只能干最简单最低级的工作,它只是分析基本单词用来作为语法分析程序的输入,而不是搞高级的翻译工作的!
No1bigtooth 2012-05-27
  • 打赏
  • 举报
回复
高手请进
  • 打赏
  • 举报
回复
哎,败了。
  • 打赏
  • 举报
回复
真没人能回答上来了呀?
  • 打赏
  • 举报
回复
有么有高手啊,我都等待一个星期了,高手帮忙解决下啊
  • 打赏
  • 举报
回复
求正则高手,在线wating.....
  • 打赏
  • 举报
回复
求关注,求大牛,求解答
烟波钓 2012-05-10
  • 打赏
  • 举报
回复
看看这个帖子里的正则符合你的要求不,俺不会正则给关键词加超链接,但忽略已有的超链接,及所有标签属性的内容
  • 打赏
  • 举报
回复
有高手吗?
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
正则匹配
[/Quote]
老兄,有吗
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
C# code


public static string getContentBysystenkeyword(object obj)
{
string content = "";
if (obj == null || obj.ToString().Trim() == "")
{
……
[/Quote]
关键是找不到这个大牛呀
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
引用 3 楼 的回复:
关键是找不到这个大牛呀

首先你需要把你的需求给叙述明白了 哪些“中国”是需要替换的 哪些中国是不需要替换的
你总得把这两种情况给叙述明白了 人也好写正则哇
[/Quote]

碰到<img>的不要求输出判断关键字。 屏蔽<img>
烟波钓 2012-05-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
关键是找不到这个大牛呀
[/Quote]
首先你需要把你的需求给叙述明白了 哪些“中国”是需要替换的 哪些中国是不需要替换的
你总得把这两种情况给叙述明白了 人也好写正则哇
tan598121925 2012-05-08
  • 打赏
  • 举报
回复
正则匹配
烟波钓 2012-05-08
  • 打赏
  • 举报
回复
把那些不需要替换的情况给筛选出来

或者把需要替换的给筛选出来

你需要把这些东西给归类了,然后让一大牛给写一正则就搞定了

62,254

社区成员

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

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

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

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