求给文章关键字加链接函数[WEB学习示例]
2009-11-08 19:49
916 查看
问题来源于http://topic.csdn.net/u/20091106/22/856d3224-67d1-46ee-807b-17e00385cf57.html?seed=1865148156&r=61014592#r_61014592
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Default2 : System.Web.UI.Page
{
string nr = "";
protected void Page_Load(object sender, EventArgs e)
{
nr = "我想学习C语言教程,我想看的是C语言视频教程,我喜欢C语言,我想习学<a href='http://www.21shipin.com' target='_blank' title='C语言教程'>C语言教程 </a>,其它什么C语言教程,我都不想看。";
string[] a1 = { "C语言视频教程", "C语言教程", "C语言" };//英文字母区分大小写
string[] a2 = { "a1.html", "a2.html", "a3.html" };
for (int Th = 0; Th < a1.Length; Th++)
{ TiHuan(nr, a1, a2 ); }
}
protected string TiHuan(string Nr, string Gjz, string Wz)
{
string[] NeiRong = new string[1];
string ZuHeNeiRong = "", TiHuan = "<a href='" + Wz + "' target='_blank' title='" + Gjz + "'>" + Gjz + "</a>";
int ChanDu = 0;
NeiRong = Nr.Split('<');//首先分割出
for (int ii = 0; ii < NeiRong.Length; ii++)
{
if (NeiRong[ii].IndexOf("a ") >= 0 || NeiRong[ii].IndexOf("A ") >= 0)// || NeiRong[ii].IndexOf("/a") >= 0 || NeiRong[ii].IndexOf("/A") >= 0
{
ZuHeNeiRong += "<" + NeiRong[ii];//补齐字符
}
else//过滤掉包含指定字符串的内容得到不包含超链接的内容
{
ChanDu = 0;//初始化
for (int cl = 0; cl < NeiRong[ii].Length / Gjz.Length; cl++)
{
if (NeiRong[ii].Substring(ChanDu, NeiRong[ii].Length - ChanDu).IndexOf(Gjz) >= 0)//如果找到关键字
{
if (NeiRong[ii].IndexOf("/a") >= 0 || NeiRong[ii].IndexOf("/A") >= 0)
{ ZuHeNeiRong += "<"; }//补齐字符
ZuHeNeiRong += NeiRong[ii].Replace(Gjz, TiHuan); //替换
ChanDu = NeiRong[ii].IndexOf(Gjz) + Gjz.Length;//继续往后寻找
}
else
{
if (ChanDu == 0)
{
if (NeiRong[ii].IndexOf("/a") >= 0 || NeiRong[ii].IndexOf("/A") >= 0)
{ ZuHeNeiRong += "<"; }//补齐字符
ZuHeNeiRong += NeiRong[ii]; break;
}
}
}
}
}
Label1.Text = ZuHeNeiRong;
nr = ZuHeNeiRong;//替换后的内容返回再次替换
return ZuHeNeiRong;
}
}
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Default2 : System.Web.UI.Page
{
string nr = "";
protected void Page_Load(object sender, EventArgs e)
{
nr = "我想学习C语言教程,我想看的是C语言视频教程,我喜欢C语言,我想习学<a href='http://www.21shipin.com' target='_blank' title='C语言教程'>C语言教程 </a>,其它什么C语言教程,我都不想看。";
string[] a1 = { "C语言视频教程", "C语言教程", "C语言" };//英文字母区分大小写
string[] a2 = { "a1.html", "a2.html", "a3.html" };
for (int Th = 0; Th < a1.Length; Th++)
{ TiHuan(nr, a1
}
protected string TiHuan(string Nr, string Gjz, string Wz)
{
string[] NeiRong = new string[1];
string ZuHeNeiRong = "", TiHuan = "<a href='" + Wz + "' target='_blank' title='" + Gjz + "'>" + Gjz + "</a>";
int ChanDu = 0;
NeiRong = Nr.Split('<');//首先分割出
for (int ii = 0; ii < NeiRong.Length; ii++)
{
if (NeiRong[ii].IndexOf("a ") >= 0 || NeiRong[ii].IndexOf("A ") >= 0)// || NeiRong[ii].IndexOf("/a") >= 0 || NeiRong[ii].IndexOf("/A") >= 0
{
ZuHeNeiRong += "<" + NeiRong[ii];//补齐字符
}
else//过滤掉包含指定字符串的内容得到不包含超链接的内容
{
ChanDu = 0;//初始化
for (int cl = 0; cl < NeiRong[ii].Length / Gjz.Length; cl++)
{
if (NeiRong[ii].Substring(ChanDu, NeiRong[ii].Length - ChanDu).IndexOf(Gjz) >= 0)//如果找到关键字
{
if (NeiRong[ii].IndexOf("/a") >= 0 || NeiRong[ii].IndexOf("/A") >= 0)
{ ZuHeNeiRong += "<"; }//补齐字符
ZuHeNeiRong += NeiRong[ii].Replace(Gjz, TiHuan); //替换
ChanDu = NeiRong[ii].IndexOf(Gjz) + Gjz.Length;//继续往后寻找
}
else
{
if (ChanDu == 0)
{
if (NeiRong[ii].IndexOf("/a") >= 0 || NeiRong[ii].IndexOf("/A") >= 0)
{ ZuHeNeiRong += "<"; }//补齐字符
ZuHeNeiRong += NeiRong[ii]; break;
}
}
}
}
}
Label1.Text = ZuHeNeiRong;
nr = ZuHeNeiRong;//替换后的内容返回再次替换
return ZuHeNeiRong;
}
}
相关文章推荐
- C语言学习入门 (一) 编译、链接、关键字、数据类型、printf函数
- 好的学习文章链接
- 动态链接库导出函数示例
- Ferris这个教程学习笔记:js示例2.2:函数接收参数并弹出
- Web前端学习链接归纳
- 【Jsoup学习礼记】示例程序: 获取所有链接
- 关于学习CSS flexbox的文章或网址链接
- 讲Linux下面线程的操作、多线程的同步和互斥相关函数及操作的文章链接
- 【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (作者:剽悍一小兔)前五节学习随笔
- Excel 函数系列学习文章03
- Kotlin系统化学习系列文章(所有文章的链接)
- Web开发学习笔记之一:如何配置IIS使其能运行ISAPI动态链接库程序?
- 两个替换文章关键字为超链接的函数
- Flask Web 开发 链接 url_for 函数
- Scala学习笔记18【curry化函数代码示例】
- OpenCV示例学习笔记(1)-contours2.cpp-通过findContours 函数实现轮廓提取
- 无意看到的web优化的文章 转载{前端学习 第五节}
- web学习链接
- 修改进程占用内存SetProcessWorkingSetSize函数(多篇相关文章值得学习)
- 关于《.net中多个图片并排循环排列显示的问题》[WEB学习示例]