C#自动给文章关键字加链接实现代码_C#教程-查字典教程网
C#自动给文章关键字加链接实现代码
C#自动给文章关键字加链接实现代码
发布时间:2016-12-28 来源:查字典编辑
摘要:主要做的是,文章中的关键字标签加上链接,网上也有很多解决办法,自己整理以便后续在用。效果如图:下面是代码:复制代码代码如下://////内联...

主要做的是,文章中的关键字标签加上链接,网上也有很多解决办法,自己整理以便后续在用。

效果如图:

下面是代码:

复制代码 代码如下:

/// <summary>

/// 内联

/// </summary>

/// <param name="content"></param>

/// <returns></returns>

public string ReplaceTextTag(string content)

{

A a = new A();

string result = "";

if (!string.IsNullOrEmpty(content))

{

//标签

List<Tag> listAll = a .GetTag(); 获取标签也就是所谓的关键字

string str1 = content;

result = keyAddUrl(str1, listAll);

}

return result;

}

/// <summary>

/// 加title,加链接

/// </summary>

/// <param name="src"></param>

/// <param name="keys"></param>

/// <returns></returns>

private string keyAddUrl(string src, List<TopicTag> keys)

{

Regex reg = new Regex(@"(?i)(?:^|(?<!<ab(?>[^<>]*))>)(?>[^<>]*)(?:<|$)");

int length = 0;

string temp = string.Empty;

return reg.Replace(src, delegate(Match m)

{

temp = m.Value;

length = temp.Length;

for (int i = keys.Count - 1; i >= 0; i--)

{

temp = Regex.Replace(temp, @"(?is)^((?:(?:(?!" + Regex.Escape(keys[i].Label) + @"|</?ab).)*<ab(?:(?!</?ab).)*</a>)*(?:(?!" + Regex.Escape(keys[i].Label) + @"|</?ab).)*)(?<tag>" + Regex.Escape(keys[i].Label) + @")",

@"$1<a href=""http://cn.greatexportimport.com/topic-" + keys[i].Id + @""" target=""_blank"" title=""${tag}"">${tag}</a>");

if (length != temp.Length)

{

keys.Remove(keys[i]);

}

length = temp.Length;

}

return temp;

});

}

在页面调用此方法即可:<p><%=Tag.ReplaceTextTag(Tag.Contents)%></p><br />

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C#教程学习
    热门C#教程学习
    编程开发子分类