用php过滤html部分标签
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用php过滤html部分标签相关的知识,希望对你有一定的参考价值。
要过滤掉 字体标签 和 字颜色标签 字体大小的标签。。。过滤掉多余的</br>标签
$str=preg_replace("/\\s+/", " ", $str); //过滤多余回车$str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格)
$str=preg_replace("/<\\!--.*?-->/si","",$str); //注释
$str=preg_replace("/<(\\!.*?)>/si","",$str); //过滤DOCTYPE
$str=preg_replace("/<(\\/?html.*?)>/si","",$str); //过滤html标签
$str=preg_replace("/<(\\/?head.*?)>/si","",$str); //过滤head标签
$str=preg_replace("/<(\\/?meta.*?)>/si","",$str); //过滤meta标签
$str=preg_replace("/<(\\/?body.*?)>/si","",$str); //过滤body标签
$str=preg_replace("/<(\\/?link.*?)>/si","",$str); //过滤link标签
$str=preg_replace("/<(\\/?form.*?)>/si","",$str); //过滤form标签
$str=preg_replace("/cookie/si","COOKIE",$str); //过滤COOKIE标签
$str=preg_replace("/<(applet.*?)>(.*?)<(\\/applet.*?)>/si","",$str); //过滤applet标签
$str=preg_replace("/<(\\/?applet.*?)>/si","",$str); //过滤applet标签
$str=preg_replace("/<(style.*?)>(.*?)<(\\/style.*?)>/si","",$str); //过滤style标签
$str=preg_replace("/<(\\/?style.*?)>/si","",$str); //过滤style标签
$str=preg_replace("/<(title.*?)>(.*?)<(\\/title.*?)>/si","",$str); //过滤title标签
$str=preg_replace("/<(\\/?title.*?)>/si","",$str); //过滤title标签
$str=preg_replace("/<(object.*?)>(.*?)<(\\/object.*?)>/si","",$str); //过滤object标签
$str=preg_replace("/<(\\/?objec.*?)>/si","",$str); //过滤object标签
$str=preg_replace("/<(noframes.*?)>(.*?)<(\\/noframes.*?)>/si","",$str); //过滤noframes标签
$str=preg_replace("/<(\\/?noframes.*?)>/si","",$str); //过滤noframes标签
$str=preg_replace("/<(i?frame.*?)>(.*?)<(\\/i?frame.*?)>/si","",$str); //过滤frame标签
$str=preg_replace("/<(\\/?i?frame.*?)>/si","",$str); //过滤frame标签
$str=preg_replace("/<(script.*?)>(.*?)<(\\/script.*?)>/si","",$str); //过滤script标签
$str=preg_replace("/<(\\/?script.*?)>/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标签的正则表达式的排除式(比如排除<p>,即不过滤<p>):
复制代码 代码如下:
</?[^pP/>]+>
4,过滤部分html标签的正则表达式的枚举式(比如需要过滤<a><p><b>等):
复制代码 代码如下:
</?[aApPbB][^>]*>
5,过滤部分html标签的属性的正则表达式的排除式(比如排除alt属性,即不过滤alt属性):
复制代码 代码如下:
\\s(?!alt)[a-zA-Z]+=[^\\s]*
6,过滤部分html标签的属性的正则表达式的枚举式(比如alt属性):
复制代码 代码如下:
(\\s)alt=[^\\s]* 参考技术A 可以使用strip_tags函数,去除html标签,就包括去除字体标签了
给你个例子,php官方手册上的,你也可以自己查一下这个函数的用法
<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";
echo strip_tags($text, '<p><a>'); //允许<p>、<a>标签
?>
输出结果:
Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>
希望对你有点帮助追问
我再要把 div 转化成 p 这个应该怎么写呢
参考技术B 使用php内置函数 strip_tags可以从字符串中去除 HTML 和 PHP 标记;但是如果只想去除指定的字符,可以使用preg_replace, 使用正则将符合规则的替换为空字符串。 参考技术C htmlspecialchars
csharp 部分视图+过滤/排序和过滤选择标签
以上是关于用php过滤html部分标签的主要内容,如果未能解决你的问题,请参考以下文章