作者:意华嘉泰6 | 来源:互联网 | 2018-03-21 21:06
本文章来给大家介绍关于各种PHP去除多余的HTML,Javascrit,Css标签方法与实现程序,大家可进入参考.1.不保留任何HTML标签,代码会是这样:echostrip_tags($s...
本文章来给大家介绍关于各种PHP去除多余的HTML,Javascrit,Css标签 方法与实现程序,大家可进入参考.
1.不保留任何HTML标签,代码会是这样:echo strip_tags($str);
2.只保留
一个标签的话,只需要将
字符串写到strip_tags的第二个参数中,代码会是这样:echo strip_tags($str, "");
3.我们要保留
与…多个标签,只需要将多个标签用空格分隔后写到strip_tags的第二个参数中,代码会是这样:echo strip_tags($str, "");
4.保留所有标签,仅仅转义用addslashes(), stripslashes(), htmlspecialchars(), htmlentities(), nl2br() 等函数.
addslashes(), stripslashes() 一般是入数据库和出库的时候使用,以免变量中存储类似引号这些关键词,这样的话,本来是内容的部分却被数据库识别为标识符来执行,就会引起错误.
htmlspecialchars() 函数只用来转义少量HTML, &,双引号,大于号和小于号.并不会全部转换成 HTML 所定的 ASCII 转换
htmlentities() 本函数有点像 htmlspecialchars() 函数,但本函数会将所有 string 的字符都转成 HTML 的特殊字集字符串.不过在转换后阅读网页源代码的方面,会有很多困扰,尤其是网页源代码的中文字会变得不知所云,浏览器上看到的还是正常的.
自带函数去除html标记
strip_tags
去掉 HTML 及 PHP 的标记.
语法: string strip_tags(string str);
传回值: 字串
函式种类: 资料处理
实例代码如下:
函式将特殊字元转成 HTML 的字串格式 ( .... ).最常用到的场合可能就是处理客户留言的留言版了.
& (和) 转成 &
" (双引号) 转成 "
<(小于) 转成 <
> (大于) 转成 >
此函式只转换上面的特殊字元,并不会全部转换成 HTML 所定的 ASCII 转换.
这里只替换 html,js,css
实例代码如下:
/si", "", $descclear); //过滤html注释
$descclear = preg_replace("/<(\!.*?)>/si", "", $descclear); //过滤DOCTYPE
$descclear = preg_replace("/<(\/?html.*?)>/si", "", $descclear); //过滤html标签
$descclear = preg_replace("/<(\/?head.*?)>/si", "", $descclear); //过滤head标签
$descclear = preg_replace("/<(\/?meta.*?)>/si", "", $descclear); //过滤meta标签
$descclear = preg_replace("/<(\/?body.*?)>/si", "", $descclear); //过滤body标签
$descclear = preg_replace("/<(\/?link.*?)>/si", "", $descclear); //过滤link标签
$descclear = preg_replace("/<(\/?form.*?)>/si", "", $descclear); //过滤form标签
$descclear = preg_replace("/COOKIE/si", "COOKIE", $descclear); //过滤COOKIE标签
$descclear = preg_replace("/<(applet.*?)>(.*?)<(\/applet.*?)>/si", "", $descclear); //过滤applet标签
$descclear = preg_replace("/<(\/?applet.*?)>/si", "", $descclear); //过滤applet标签
$descclear = preg_replace("/<(style.*?)>(.*?)<(\/style.*?)>/si", "", $descclear); //过滤style标签
$descclear = preg_replace("/<(\/?style.*?)>/si", "", $descclear); //过滤style标签
$descclear = preg_replace("/<(title.*?)>(.*?)<(\/title.*?)>/si", "", $descclear); //过滤title标签
$descclear = preg_replace("/<(\/?title.*?)>/si", "", $descclear); //过滤title标签
$descclear = preg_replace("/<(object.*?)>(.*?)<(\/object.*?)>/si", "", $descclear); //过滤object标签
$descclear = preg_replace("/<(\/?objec.*?)>/si", "", $descclear); //过滤object标签
$descclear = preg_replace("/<(noframes.*?)>(.*?)<(\/noframes.*?)>/si", "", $descclear); //过滤noframes标签
$descclear = preg_replace("/<(\/?noframes.*?)>/si", "", $descclear); //过滤noframes标签
$descclear = preg_replace("/<(i?frame.*?)>(.*?)<(\/i?frame.*?)>/si", "", $descclear); //过滤frame标签
$descclear = preg_replace("/<(\/?i?frame.*?)>/si", "", $descclear); //过滤frame标签
$descclear = preg_replace("/<(script.*?)>(.*?)<(\/script.*?)>/si", "", $descclear); //过滤script标签
$descclear = preg_replace("/<(\/?script.*?)>/si", "", $descclear); //过滤script标签
$descclear = preg_replace("/Javascript/si", "Javascript", $descclear); //过滤script标签
$descclear = preg_replace("/Vbscript/si", "Vbscript", $descclear); //过滤script标签
$descclear = preg_replace("/on([a-z]+)\s*=/si", "On\\1=", $descclear); //过滤script标签
$descclear = preg_replace("/&#/si", "&#", $descclear); //过滤script标签,如Javascript:alert();//使用正则替换
$pat = "/<(\/?)(script|i?frame|style|html|body|li|i|map|title|img|link|span|u|font|table|tr|b|marquee|td|strong|p|a|meta|\?|\%)([^>]*?)>/isU";
$descclear = preg_replace($pat, "", $descclear);
return $descclear;
?>