将html、js代码过滤后,css代码怎么过滤?采集系统

米娜Rose 2010-07-28 11:16:54

private string stripHtml(string strHtml)
{
Regex objRegExp = new Regex("<(.|\n)+?>");
string strOutput = objRegExp.Replace(strHtml, "");
strOutput = strOutput.Replace("<", "<");
strOutput = strOutput.Replace(">", ">");
return strOutput;
}


这个是我的过滤html代码的函数,但并没有实现css的过滤,请问css代码该怎么过滤?
...全文
196 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
nitaiyoucala 2010-07-28
  • 打赏
  • 举报
回复
我怎可以了 調用的時候出現問題沒
米娜Rose 2010-07-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 nitaiyoucala 的回复:]
/// <summary>
/// 用正则表达式去掉数据库中的script脚本和html标签
/// </summary>
/// <param name="Htmlstring"></param>
/// <returns></returns>
public static string NoHTML(string Htmlstring)
{
//删除脚本……
[/Quote]
我有用这个去html,js代码,但是css是没有去掉的。
nitaiyoucala 2010-07-28
  • 打赏
  • 举报
回复
/// <summary>
/// 用正则表达式去掉数据库中的script脚本和html标签
/// </summary>
/// <param name="Htmlstring"></param>
/// <returns></returns>
public static string NoHTML(string Htmlstring)
{
//删除脚本
Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
//删除HTML
Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase);

Htmlstring.Replace("<", "");
Htmlstring.Replace(">", "");
Htmlstring.Replace("\r\n", "");
Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();

return Htmlstring;
}

用我這個
wwfgu00ing 2010-07-28
  • 打赏
  • 举报
回复
up一下
米娜Rose 2010-07-28
  • 打赏
  • 举报
回复
谢谢楼上!
nitaiyoucala 2010-07-28
  • 打赏
  • 举报
回复
可以了嗎
nitaiyoucala 2010-07-28
  • 打赏
  • 举报
回复
方法---- --------
public static string NoHTML(string Htmlstring)
{
//删除脚本
Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
//删除HTML
Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);

Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase);

Htmlstring.Replace("<", "");
Htmlstring.Replace(">", "");
Htmlstring.Replace("\r\n", "");
Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();

return Htmlstring;
}


測試-
protected void Button2_Click(object sender, EventArgs e)
{
this.Literal1.Text= "<div style='color:blue;border:1px solid red;font-size:30px;height:200px'>xiachufeng</div>";
this.Literal1.Visible = false;
string test = this.Literal1.Text;
Response.Write("我調用了NoHtml方法:"+NoHTML(test).ToString()+"<br>我沒有調用NoHtml方法:"+test);
}

米娜Rose 2010-07-28
  • 打赏
  • 举报
回复
图片怎么看不见啊?- - 。。。。。。
米娜Rose 2010-07-28
  • 打赏
  • 举报
回复
米娜Rose 2010-07-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 nitaiyoucala 的回复:]
我怎可以了 調用的時候出現問題沒
[/Quote]
把你的整个代码贴给我啊
vivi万能小偷程序是以php语言进行开发的网站采集系统,只需要输入目标站地址就能全自动采集,高智能的采集程序,支持98%的站点,规则制作十分简单,菜鸟也能制作采集规则,采集不求人。 功能简介: ·后台配置采集节点,输入目标站地址即可全自动智能转换自动全站采集 ·支持https、支持POST获取、支持搜索、支持cookie、支持代理、支持破解防盗链、支持破解防采集 ·全自动分析,内外链接自动转换、图片地址、cssjs,自动分析CSS内的图片使得页面风格不丢失 ·广告标签,方便在规则里直接替换广告代码 ·支持自定义标签,标签可自定义内容、自由截取、内容正则截取。可以放在模板里,也可以在规则里替换 ·支持自定义模板,可使用标签diy个性模板,真正做到内容上移花接木 ·调试模式,可观察采集性能,便于发现和解决各种错误 ·多条采集规则一键切换,支持导入导出 ·内置强大替换和过滤功能,标签过滤、站内外过滤、字符串替换、等等 ·IP屏蔽功能,屏蔽想要屏蔽IP地址让它无法访问 蜘蛛访问记录 高级功能 ·url过滤功能,可过滤屏蔽不采集指定链接 ·伪原创,近义词替换有利于seo ·伪静态,url伪静态化,有利于seo ·自动缓存自动更新,可设置缓存时间达到自动更新,css缓存 ·简繁体互转 ·代理IP、伪造IP、随机IP、伪造user-agent、伪造referer来路、自定义cookie,以便应对防采集措施 ·url地址加密转换,个性化url,让你的url地址与众不同 ·关键词内链功能 ·插件机制,内容灵活控制 ·还有更多功能等你发现…… ftp上传需使用二进制上传方式,方法请百度 data文件夹需要读写权限 首次使用程序请到后台进行相关设置,否则出现错位、空白等现象 默认后台:http://网站地址/@admin/index.php 默认账号: admin 默认密码: admin 程序使用环境 php5.2 - php5.5 vivi万能小偷程序 v4.0 更新日志: 1.增加采集开关,关闭时将停止采集仅使用缓存 2.增加替换支持首页和内页区分 3.增加禁止手机版搜索引擎转码 4.增加目标站编码自动识别 5.增加支持首页使用目标站标题 6.优化替换算法 7.优化后台采集节点界面 8.强化后台插件管理 9.仅保留最近1万条蜘蛛记录,为提高性能

62,243

社区成员

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

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

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

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