手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#自动给文章关键字加链接实现代码
C#自动给文章关键字加链接实现代码
摘要:主要做的是,文章中的关键字标签加上链接,网上也有很多解决办法,自己整理以便后续在用。效果如图:下面是代码:复制代码代码如下://////内联...

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

效果如图:

C#自动给文章关键字加链接实现代码1

下面是代码:

复制代码 代码如下:

/// <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#独立域名查询代码

C#软件注册码的实现代码

C#计算两个文件的相对目录算法的实例代码

C# zxing二维码写入的实例代码

c# 共享状态的文件读写实现代码

C#使用itextsharp生成PDF文件的实现代码

C#截图程序类似腾讯QQ截图实现代码

C#操作IIS程序池及站点的创建配置实现代码

C# 屏蔽关键字的实现方法

C#跨窗体操作(引用传递) 实例代码

精品推荐
分类导航