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

PHP
PHP基础教程(11):PHP函数
PHP基础教程(12):PHP表单和用户输入
PHP基础教程(13):PHP $_GET
PHP基础教程(14):PHP $_POST
PHP高级教程(1):PHP日期Date()
PHP高级教程(2):PHP引用文件
PHP高级教程(3):PHP文件处理
PHP高级教程(4):PHP文件上传
PHP高级教程(5):PHP Cookies
PHP高级教程(6):PHP Sessions
PHP高级教程(7):PHP发送电子邮件
PHP高级教程(8):PHP安全的电子邮件
PHP高级教程(9):PHP错误处理
PHP高级教程(10):PHP异常处理
PHP高级教程(11):PHP过滤器(Filter)
PHP+MySQL教程(1):MYSQL简介
PHP+MySQL教程(2):连接MYSQL数据库
PHP+MySQL教程(3):创建数据库和表
PHP+MySQL教程(4):MySQL Insert Into
PHP+MySQL教程(5):MySQL Select

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 114 ::
收藏到网摘: 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);