文档章节

PHP实现过滤各种HTML标签

A灵云A
 A灵云A
发布于 2017/02/17 16:43
字数 457
阅读 14
收藏 0
点赞 0
评论 0
$str=preg_replace("/<s*imgs+[^>]*?srcs*=s*('|")(.*?)\1[^>]*?/?s*>/i","", $str); //过滤img标签
 
$str=preg_replace("/s+/","", $str); //过滤多余回车
 
$str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格)
 
$str=preg_replace("/<!--.*?-->/si","",$str); //注释
 
$str=preg_replace("/<(!.*?)>/si","",$str); //过滤DOCTYPE
 
$str=preg_replace("/<(/?html.*?)>/si","",$str); //过滤html标签
 
$str=preg_replace("/<(/?head.*?)>/si","",$str); //过滤head标签
 
$str=preg_replace("/<(/?meta.*?)>/si","",$str); //过滤meta标签
 
$str=preg_replace("/<(/?body.*?)>/si","",$str); //过滤body标签
 
$str=preg_replace("/<(/?link.*?)>/si","",$str); //过滤link标签
 
$str=preg_replace("/<(/?form.*?)>/si","",$str); //过滤form标签
 
$str=preg_replace("/cookie/si","COOKIE",$str); //过滤COOKIE标签
 
$str=preg_replace("/<(applet.*?)>(.*?)<(/applet.*?)>/si","",$str); //过滤applet标签
 
$str=preg_replace("/<(/?applet.*?)>/si","",$str); //过滤applet标签
 
$str=preg_replace("/<(style.*?)>(.*?)<(/style.*?)>/si","",$str); //过滤style标签
 
$str=preg_replace("/<(/?style.*?)>/si","",$str); //过滤style标签
 
$str=preg_replace("/<(title.*?)>(.*?)<(/title.*?)>/si","",$str); //过滤title标签
 
$str=preg_replace("/<(/?title.*?)>/si","",$str); //过滤title标签
 
$str=preg_replace("/<(object.*?)>(.*?)<(/object.*?)>/si","",$str); //过滤object标签
 
$str=preg_replace("/<(/?objec.*?)>/si","",$str); //过滤object标签
 
$str=preg_replace("/<(noframes.*?)>(.*?)<(/noframes.*?)>/si","",$str); //过滤noframes标签
 
$str=preg_replace("/<(/?noframes.*?)>/si","",$str); //过滤noframes标签
 
$str=preg_replace("/<(i?frame.*?)>(.*?)<(/i?frame.*?)>/si","",$str); //过滤frame标签
 
$str=preg_replace("/<(/?i?frame.*?)>/si","",$str); //过滤frame标签
 
$str=preg_replace("/<(script.*?)>(.*?)<(/script.*?)>/si","",$str); //过滤script标签
 
$str=preg_replace("/<(/?script.*?)>/si","",$str); //过滤script标签
 
$str=preg_replace("/javascript/si","Javascript",$str); //过滤script标签
 
$str=preg_replace("/vbscript/si","Vbscript",$str); //过滤script标签
 
$str=preg_replace("/on([a-z]+)s*=/si","On\1=",$str); //过滤script标签
 
$str=preg_replace("/&#/si","&#",$str); //过滤script标签

 

function delhtml($str){  //清除html标签
$st=-1; //开始
$et=-1; //结束
$stmp=array();
$stmp[]=" ";
$len=strlen($str);
for($i=0;$i<$len;$i++){
  $ss=substr($str,$i,1);
  if(ord($ss)==60){ //ord("<")==60
  $st=$i;
  }
  if(ord($ss)==62){ //ord(">")==62
  $et=$i;
  if($st!=-1){
   $stmp[]=substr($str,$st,$et-$st+1);
  }
  }
}
$str=str_replace($stmp,"",$str);
return $str;
}

 

function clear_html_label($html) 
{ 
$search = array ("'<script[^>]*?>.*?</script>'si", "'<[/!]*?[^<>]*?>'si", "'([rn])[s]+'", "'&(quot|#34);'i", "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i", "'&(cent|#162);'i", "'&(pound|#163);'i", "'&(copy|#169);'i", "'&#(d+);'e"); 
$replace = array ("", "", "1", """, "&", "<", ">", " ", chr(161), chr(162), chr(163), chr(169), "chr(1)");
return preg_replace($search, $replace, $html); 
}

 

本文转载自:http://www.jb51.net/article/66215.htm

共有 人打赏支持
A灵云A
粉丝 1
博文 25
码字总数 6919
作品 0
海淀
程序员
看电影、逛网页、广告标签很碍眼?php教你一招去除网页广告

     今天的内容分为两部分   一是关于php技术方面的   二是关于大家看电影,视频的广告过滤      一、html广告标签去除   大家在用php爬取网页数据中会要很多不相干的广告标签...

学编程C语言以及 ⋅ 2017/09/07 ⋅ 0

PHP Tidy完美的XHTML纠错&过滤

输入和输出 输入和输出应该说是很多网站的基本功能。用户输入数据,网站输出数据供其他人浏览。 拿目前流行的Blog为例,这里的输入输出就是作者编辑文章后生成博客文章页面供他人阅读。 这里...

peasant ⋅ 2014/01/15 ⋅ 0

php关于输入过滤小结

Web的攻击,大部分是来自于外部,如Url上添加一些字段注入($GET输入),表单的提交注入(一般为$POST),所以在接收数据时对数据进行过滤,是很有必要的。 一. 一般php自带的过滤方法有: 1.空过...

Jceee ⋅ 2014/09/03 ⋅ 2

KindEditor 4.1.1 发布

根据国家信息安全漏洞共享平台(即中国国家漏洞库,CNVD)要求,4.1.1版本开始默认开启白名单过滤,只能使用htmlTags里定义的HTML标签和属性,其它标签和属性会被编辑器过滤。如果要允许输入...

红薯 ⋅ 2012/06/12 ⋅ 2

jQuery MiniUI v2.0 发布

jQuery MiniUI 是强大的企业级WEB控件库。 具有:datagrid、tree、comboBox、datepicker、menu、toolbar等一系列控件。 技术亮点: 强大表格控件:实现锁定列、多表头、分页排序、行过滤、数...

fcrong ⋅ 2012/03/13 ⋅ 53

前台评论引入KindEditor,请教大家应该如何防止恶意代码的注入

KindEditor确实很不错,主要是使用够方便,操作友好. 昨晚根据需求对比了kindeditor,tinyeditor,ckeditor这三款html编辑器, 需求:字体加粗,字体倾斜,插入外部图片,插入表情. 放弃使用ck是因为大...

BENNEE ⋅ 2011/03/01 ⋅ 21

xss攻击和sql注入防范

php xss攻击防范如果类似商品标题之类的,可以使用 strip_tags() 过滤,全部清除掉html标签。 如果类似商品描述之类的,可以使用 htmlspecialchars() 过滤,把html标签转义。 sql注入防范数字...

wankaiming ⋅ 2015/09/16 ⋅ 0

字符过滤组件--wuxiu.safeHelper

wuxiu.safeHelper是一个字符过滤组件,是基于.NET framework平台,其中HtmlSaferAnalyser类可以实现对HTML村签的过滤功能,当然正则表达式也可以轻易实现html过滤,为什么还需要safeHelper呢...

aspx8855 ⋅ 2014/05/20 ⋅ 0

php字符过滤方法

/** * 字符过滤 * $santype 1 : 剥去 HTML、XML 以及 PHP 的标签, * 2 : 剥去 HTML、XML 以及 PHP 的标签,字符转换为 HTML 实体 , 编码双引号和单引号 * 3 : 剥去 HTML、XML 以及 PHP 的标签...

Adam-Lee ⋅ 2012/02/23 ⋅ 0

如何使用UEditor和如何过滤html代码防止攻击

操作: 1.下载包 2.压缩并复制到/Public/目录下 3.在需要使用的页面导入JS和CSS文件 为textarea添加一个ID: 问题六、在线编辑器中的HTML内容会TP过滤转义,这样效果就失效了:不转义会被攻击...

嘘别吵_4d1c ⋅ 2017/11/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

开启Swarm集群以及可视化管理

在搭建的两台coreos服务器上开启swarm集群 前置条件: docker均开启2375端口 同一个局域网内 主服务器上安装Portainer容器 安装Portainer容器执行: docker run -d -p 9000:9000 --restart=a...

ykbj ⋅ 28分钟前 ⋅ 0

单例设计模式

1、单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例 2、饿汉式单例类 在这个类被加载时,静态变量instance会被初始化,此时类的私有构造子会被调用 饿汉式是典型...

职业搬砖20年 ⋅ 33分钟前 ⋅ 0

前端基础(四):前端国际规范收集

字数:1142 阅读时间:5分钟 前言 由于前端技术的灵活性和杂乱性,导致网上的许多解决方案不够全面甚至是完全错误,容易起到误导作用。所以,我对搜索到的解决方案往往是存疑态度。那么,如何...

老司机带你撸代码 ⋅ 35分钟前 ⋅ 0

Failed to open/create Network-VirtualBox Host-Only

虚拟机版本 : Oracle Vm VirtualBox 5.2.12 报错时机:开网卡二,重启虚拟机报错 "Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBox Host-Only Ethernet Ada......

p至尊宝 ⋅ 38分钟前 ⋅ 0

三分钟学会如何在函数计算中使用 puppeteer

摘要: 使用 puppeteer 结合函数计算,可以快速的构建弹性的服务完成各种功能,包括:生成网页截图或者 PDF、高级爬虫,可以爬取大量异步渲染内容的网页、模拟键盘输入、表单自动提交、登录网...

阿里云云栖社区 ⋅ 41分钟前 ⋅ 0

springMVC接收表单时 Bean对象有Double Int Char类型的处理

前台ajax提交表单price为double类型 后台controller就介绍不到 400错误 前台 实体类: public class ReleaseMapIconConfig{ private String id; private long maxValue; private long minVal......

废柴 ⋅ 44分钟前 ⋅ 0

ZOOKEEPER安装

工作需要在ubuntu上配置了一个zookeeper集群,有些问题记录下来。 1. zookeeper以来java,所以首先要安装java。但是ubuntu系统有自带的jdk,需要通过命令切换java版本: $ sudo update-alter...

恰东 ⋅ 47分钟前 ⋅ 0

linux 进程地址空间的一步步探究

我们知道,在32位机器上linux操作系统中的进程的地址空间大小是4G,其中0-3G是用户空间,3G-4G是内核空间。其实,这个4G的地址空间是不存在的,也就是我们所说的虚拟内存空间。 那虚拟内存空间...

HelloRookie ⋅ 47分钟前 ⋅ 0

myatis #{}与${}区别及原理

https://blog.csdn.net/wo541075754/article/details/54292751

李道福 ⋅ 50分钟前 ⋅ 0

三分钟学会如何在函数计算中使用 puppeteer

摘要: 使用 puppeteer 结合函数计算,可以快速的构建弹性的服务完成各种功能,包括:生成网页截图或者 PDF、高级爬虫,可以爬取大量异步渲染内容的网页、模拟键盘输入、表单自动提交、登录网...

猫耳m ⋅ 51分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部