当前位置: 首页 > 图文教程 > 网络编程 > PHP > php完全过滤HTML,JS,CSS等标签

PHP
php教程:mysql数据库操作的DB类
PHP教程:cookie和数组的结合实现购物车
php教程:mysql的常用语句
php教程:经典PHP代码
php编程中遇到的cookie的问题
php入门交流:鼓励学习PHP的新手
细数PHP程序的一些缺陷
说明PHP开发网站程序的优点
PHP+MYSQL网站开发中遇到的问题汇总
php教程:php设计模式介绍之工厂模式
ubuntu下apache2不能解释php程序故障
WIN2003+IIS6+PHP5根目录无法运行PHP程序
PHP+MYSQL网站开发中关于时间的问题
PHP正则表达式提取超链接及其标题
PHP中的Date()函数详细讲解
初学:apache与php基本配置
PHP串行化与JSON
php教程:php设计模式介绍之单条模式
PHP中不能使用exec(),system(),shell_system()等函数
PHP正则表达式从url中取得域名

PHP 中的 php完全过滤HTML,JS,CSS等标签


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 153 ::
收藏到网摘: n/a

全是正则过滤HTML标签,但是今天自己拿来用都不好用了.原因??就是标签转义了. 记得以前写过一篇文章
php有效的过滤html标签,js代码,css样式标签:
复制代码 代码如下:

<?php
$str = preg_replace( "@<script(.*?)</script>@is", "", $str );
$str = preg_replace( "@<iframe(.*?)</iframe>@is", "", $str );
$str = preg_replace( "@<style(.*?)</style>@is", "", $str );
$str = preg_replace( "@<(.*?)>@is", "", $str );
?>

,全是正则过滤HTML标签,但是今天自己拿来用都不好用了.原因??就是标签转义了.比如<br >.页面上显示的是这个.但是源文件却显示的像这样:”——但是我们还是可以处理,先把内容全部反编译过来.再过滤就行了.
复制代码 代码如下:

$str= htmlspecialchars_decode($str);

用htmlspecialchars_decode这个函数的就是把源文件转成<>这样的标签.然后”:
复制代码 代码如下:

$str= preg_replace("/<(.*?)>/","",$str);