热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php过滤HTML标签、属性等正则表达式汇总

这篇文章主要介绍了php过滤HTML标签、属性等正则表达式汇总,本文使用代码实例给出了过滤HTML内容的正则表达式,具体说明请参阅代码中的注释,本文对使用PHP做采集

这篇文章主要介绍了php过滤HTML标签、属性等正则表达式汇总,本文使用代码实例给出了过滤HTML内容的正则表达式,具体说明请参阅代码中的注释,本文对使用PHP做采集

$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*&#63;-->/si","",$str); //注释 $str=preg_replace("/<(\!.*&#63;)>/si","",$str); //过滤DOCTYPE $str=preg_replace("/<(\/&#63;html.*&#63;)>/si","",$str); //过滤html标签 $str=preg_replace("/<(\/&#63;head.*&#63;)>/si","",$str); //过滤head标签 $str=preg_replace("/<(\/&#63;meta.*&#63;)>/si","",$str); //过滤meta标签 $str=preg_replace("/<(\/&#63;body.*&#63;)>/si","",$str); //过滤body标签 $str=preg_replace("/<(\/&#63;link.*&#63;)>/si","",$str); //过滤link标签 $str=preg_replace("/<(\/&#63;form.*&#63;)>/si","",$str); //过滤form标签 $str=preg_replace("/COOKIE/si","COOKIE",$str); //过滤COOKIE标签 $str=preg_replace("/<(applet.*&#63;)>(.*&#63;)<(\/applet.*&#63;)>/si","",$str); //过滤applet标签 $str=preg_replace("/<(\/&#63;applet.*&#63;)>/si","",$str); //过滤applet标签 $str=preg_replace("/<(style.*&#63;)>(.*&#63;)<(\/style.*&#63;)>/si","",$str); //过滤style标签 $str=preg_replace("/<(\/&#63;style.*&#63;)>/si","",$str); //过滤style标签 $str=preg_replace("/<(title.*&#63;)>(.*&#63;)<(\/title.*&#63;)>/si","",$str); //过滤title标签 $str=preg_replace("/<(\/&#63;title.*&#63;)>/si","",$str); //过滤title标签 $str=preg_replace("/<(object.*&#63;)>(.*&#63;)<(\/object.*&#63;)>/si","",$str); //过滤object标签 $str=preg_replace("/<(\/&#63;objec.*&#63;)>/si","",$str); //过滤object标签 $str=preg_replace("/<(noframes.*&#63;)>(.*&#63;)<(\/noframes.*&#63;)>/si","",$str); //过滤noframes标签 $str=preg_replace("/<(\/&#63;noframes.*&#63;)>/si","",$str); //过滤noframes标签 $str=preg_replace("/<(i&#63;frame.*&#63;)>(.*&#63;)<(\/i&#63;frame.*&#63;)>/si","",$str); //过滤frame标签 $str=preg_replace("/<(\/&#63;i&#63;frame.*&#63;)>/si","",$str); //过滤frame标签 $str=preg_replace("/<(script.*&#63;)>(.*&#63;)<(\/script.*&#63;)>/si","",$str); //过滤script标签 $str=preg_replace("/<(\/&#63;script.*&#63;)>/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标签,如Javascript:alert(

清除空格,换行

function DeleteHtml($str) { $str = trim($str); $str = strip_tags($str,""); $str = ereg_replace("\t","",$str); $str = ereg_replace("\r\n","",$str); $str = ereg_replace("\r","",$str); $str = ereg_replace("\n","",$str); $str = ereg_replace(" "," ",$str); return trim($str); }

过滤HTML属性

1,过滤所有html标签的正则表达式:

代码如下:


]+>

//过滤所有html标签的属性的正则表达式:

$html = preg_replace("/<([a-zA-Z]+)[^>]*>/","<\\1>",$html);


3,过滤部分html标签的正则表达式的排除式(比如排除

,即不过滤

):

代码如下:


]+>


4,过滤部分html标签的正则表达式的枚举式(比如需要过滤

等):

代码如下:


]*>


5,过滤部分html标签的属性的正则表达式的排除式(比如排除alt属性,即不过滤alt属性):

代码如下:


\s(&#63;!alt)[a-zA-Z]+=[^\s]*


6,,过滤部分html标签的属性的正则表达式的枚举式(比如alt属性):

代码如下:


(\s)alt=[^\s]*

推荐阅读
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • Linux环境变量$PATH的作用及使用方法
    本文介绍了Linux环境变量$PATH的作用及使用方法。$PATH是一个由多个目录组成的变量,用冒号分隔。当执行一个指令时,系统会按照$PATH定义的目录顺序搜索同名的可执行文件,如果有多个同名指令,则先找到的会被执行。通过设置$PATH变量,可以在任何地方执行指令,无需输入绝对路径。 ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • JavaScript在常人看来都是门出不了厅堂的小语言,仅管它没有明星语言的闪耀,但至少网页的闪耀还是需要它的,同时它是一门很实用的语言,本人平时就喜欢拿它来写点实用工具或应用,本文演示用JavaSc ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • vb.net不用多线程如何同时运行两个过程?不用多线程?即使用多线程,也不会是“同时”执行,题主只要略懂一些计算机编译原理就能明白了。不用多线程更不可能让两个过程同步执行了。不过可 ... [详细]
  • vb.net面试题,请大家帮忙,谢谢。如果需要讲详细一点,那就加我QQ531412815第4题,潜在的错误,这里的错误不是常规错误,属于那种只有在运行是才知道的错误:Catchex ... [详细]
  • 前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是 ... [详细]
  • 但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能。下面是具体的做法:一:跳转到新页面,并且是在新窗口中打开时:复制代码代码如下:fu ... [详细]
author-avatar
zgshenxz_474
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有