文档章节

PHP实现过滤各种HTML标签

A灵云A
 A灵云A
发布于 2017/02/17 16:43
字数 457
阅读 15
收藏 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
博文 40
码字总数 8517
作品 0
海淀
程序员
PHP 安全:过滤、验证和转义

我们在开发应用时,一般有个约定:不要信任任何来自不受自己控制的数据源中的数据。例如以下这些外部源: $_GET $_POST $_REQUEST $_COOKIE $argv php://stdin php://input filegetcontents(...

梦梦阁
09/14
0
0
看电影、逛网页、广告标签很碍眼?php教你一招去除网页广告

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

学编程C语言以及
2017/09/07
0
0
PHP Tidy完美的XHTML纠错&过滤

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

peasant
2014/01/15
0
0
Yii2语言国际化配置Twig翻译解决方案

转载 Yii2语言国际化配置Twig翻译解决方案 我自己在写项目的时候,不喜欢使用php自身的模板,主要是各种PHP标签让我烦,而且对Html的标签兼容也不够友好,所以我后面采用了twig模板,配置之类...

durban
08/24
0
0
字符过滤组件--wuxiu.safeHelper

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

aspx8855
2014/05/20
429
0

没有更多内容

加载失败,请刷新页面

加载更多

django 2 urlpatterns 中正则匹配路由

django 2 urlpatterns 中正则匹配路由: 在项目的urls.py中导入re_path:

MichaelShu
14分钟前
0
0
Spring MVC 到 Spring Boot 的简化之路

背景 从Servlet技术到Spring和Spring MVC,开发Web应用变得越来越简捷。但是Spring和Spring MVC的众多配置有时却让人望而却步,相信有过Spring MVC开发经验的朋友能深刻体会到这一痛苦。因为...

别打我会飞
19分钟前
0
0
python做文本内容指定区域字符串替换

需求: 因为公司项目需要做SEO优化,所以对项目中的各种长连接做优化,比如本文中提到的精简路径;之前已经批量吧文本的路径名字等做过修改,这里不再赘述;这里的问题是外部的路径修改了,文...

坦途abc
45分钟前
4
0
MySQL 关键字模糊匹配,并按照匹配度排序

MySQL 关键字模糊匹配,并按照匹配度排序。 方式一、按照关键字搜索,然后根据关键字所占比例排序 SELECTdrug_name,pinyinFROMtbl_drugWHEREpinyin LIKE '%AM%'ORDER BY...

yh32
55分钟前
3
0
虚拟机学习之一:java内存区域与内存溢出异常

1.运行时数据区域 java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途和创建、销毁时间,有的区域伴随虚拟机进程的启动而存在,有些区...

贾峰uk
55分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部