给文章专有名词加链接

一一一一 2013-02-04 02:39:50
有一专有名词表
id name
1 张一
2 李四
.
.
.

在提交文章的需要将文章中内容包含有上面表的名词加一个链接,如:
文章内容是这样的: 你好张一我很好,我是李四
替换后是这样的: 你好<a href='?id=1'>张一</a>我很好,我是<a href='?id=2'>李四</a>

请问一下,该怎么实现
...全文
201 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
犇犇熊 2013-02-04
5L的方法挺好,直接把里面的datatable数据集,换成你自己数据库中的数据集就OK了
  • 打赏
  • 举报
回复
引用 7 楼 yezhenhua101 的回复:
引用 4 楼 hjywyj 的回复:C# code?1234567891011 DataTable dt = new System.Data.DataTable(); dt.Columns.Add("id", typeof(int)); dt.Columns.Add("name", typeof(string)); ……
5L的方法就很好
  • 打赏
  • 举报
回复
一一一一 2013-02-04
引用 4 楼 hjywyj 的回复:
C# code?1234567891011 DataTable dt = new System.Data.DataTable(); dt.Columns.Add("id", typeof(int)); dt.Columns.Add("name", typeof(string)); dt.Rows.Add(1……
高手,我们还是2.0的项目,有没有其它方式
  • 打赏
  • 举报
回复
一一一一 2013-02-04
引用 5 楼 gxingmin 的回复:
C# code?123456789101112 DataTable dt = new DataTable(); dt.Columns.Add("id"); dt.Columns.Add("name"); dt.Rows.Add(new object[]{"1", "张一"}); dt……
谢谢
  • 打赏
  • 举报
回复
gxingmin 2013-02-04
  DataTable dt = new DataTable();
            dt.Columns.Add("id");
            dt.Columns.Add("name");
            dt.Rows.Add(new object[]{"1", "张一"});
            dt.Rows.Add(new object[] { "2", "李四" });
            dt.Rows.Add(new object[] { "3", "王五" });

            string strText = " 你好张一我很好,我是李四,张一说,带上王五吧";
            foreach (DataRow dr in dt.Rows)
            {
                strText=strText.Replace(dr["name"].ToString(),string.Format("<a href='?id={0}'>{1}</a>",dr["id"],dr["name"]));
            }
  • 打赏
  • 举报
回复
 DataTable dt = new System.Data.DataTable();
            dt.Columns.Add("id", typeof(int));
            dt.Columns.Add("name", typeof(string));
            dt.Rows.Add(1, "张一");
            dt.Rows.Add(2, "李四");
            string str = " 你好张一我很好,我是李四";
            string pat = string.Join("|", dt.AsEnumerable().Select(t => t.Field<string>("name")).ToArray());
            str = Regex.Replace(str, pat, delegate(Match m)
            {
                return @"<a href=""XXX.aspx?id=" + dt.Select("name='" + m.Value+"'").First().Field<int>("id") + "\">" + m.Value + "</a>";
            });
  • 打赏
  • 举报
回复
一一一一 2013-02-04
循环replace吗, 有没有正则之类的一次替换完,
  • 打赏
  • 举报
回复
一一一一 2013-02-04
引用 1 楼 a346729576 的回复:
专有名词里面有链接吗。替换一下
没有,链接就是固定的页面后面跟一个名词表的id 如a.aspx?id=1
  • 打赏
  • 举报
回复
夜色镇歌 2013-02-04
专有名词里面有链接吗。替换一下
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

6.0w+

社区成员

.NET技术交流专区
社区管理员
  • ASP.NET
  • R小R
  • 喵叔哟
帖子事件
创建了帖子
2013-02-04 02:39
社区公告

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

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