php完全过滤HTML,JS,CSS等标签
(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )
记得以前写过一篇文章
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);
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);
下一篇:php array_flip() 删除数组重复元素