首页 热点资讯 义务教育 高等教育 出国留学 考研考公

php 过滤掉html标签及标签内的所有内容

发布网友 发布时间:2022-04-22 06:53

我来回答

4个回答

热心网友 时间:2022-04-06 05:13

方法一:使用strip_tags()函数
strip_tags() 函数剥去字符串中的 HTML、XML 以及PHP的标签。
使用案例:
$string = "<p>这里是潘旭博客</p>"
$newStr = strip_tags($string);
echo $newStr;

方法二:使用str_replace()函数
str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)
使用案例:
$string = "<p>这里是潘旭博客</p>";
$newStr = str_replace(array("<p>","</p>"),array("",""));
echo $newStr;

另外还有一种是通过正则的方法,请参考:https://panxu.net/article/8385.html

热心网友 时间:2022-04-06 06:31

$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标签

热心网友 时间:2022-04-06 08:06

<?php

$content = '<div class="content">
<div class="content">
<div class="content">
<span class="blue">发布
</span>
<pre>谷歌的这个功能</pre>
</div>
<span class="blue">5发布</span>
谷歌
</div>
<span class="blue">发布</span>
谷歌
</div>
<span>
</span>
百度';

$content = str_replace("\n",'',$content);
$content = str_replace("\r",'',$content);
$content =preg_split('/<[^>]+>/iU',$content);
$str = array_pop($content);

var_mp($str);
?>追问我希望进行贪婪匹配.即 这个字符及前面的字符全部替换为空.怎么写,是下面这样吗,规则好像没问题. 但为什么返回的数据没变化

$content = str_replace("/(.*)/",'',$content);
var_mp($content );

追答是这样写
$content = preg_replace("/.*/is",'',$content);
var_mp($content);

这里/ 后面加了 2个修饰符
i 是 不区分大小写的匹配
s 是 带有换行的 匹配

但是 “百度” 前面 还是有 换行符存在的 所以 你需要替换 他们
$content = str_replace("\n",'',$content);
$content = str_replace("\r",'',$content);

热心网友 时间:2022-04-06 09:57

这个真太专业了,你自己在查查吧

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com