php 过滤掉html标签及标签内的所有内容
如下面的代码我要去掉所有的html代码及里面的所有内容.我只取最后面的百度两个字.怎么匹配或替换(其实我要匹配的内容全在代码的最后面,并且不在html代码中.这是不变的一...
如下面的代码 我要去掉所有的html代码及里面的所有内容.我只取最后面的百度两个字.怎么匹配或替换(其实我要匹配的内容全在代码的最后面,并且不在html代码中.这是不变的一个规律)
$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内容为
<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>
百度 展开
4个回答
展开全部
方法一:使用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
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
推荐于2016-09-08 · 知道合伙人互联网行家
关注
展开全部
$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标签
$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标签
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?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_dump($str);
?>
$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_dump($str);
?>
追问
我希望进行贪婪匹配.即 这个字符及前面的字符全部替换为空.怎么写,是下面这样吗,规则好像没问题. 但为什么返回的数据没变化
$content = str_replace("/(.*)/",'',$content);
var_dump($content );
追答
是这样写
$content = preg_replace("/.*/is",'',$content);
var_dump($content);
这里/ 后面加了 2个修饰符
i 是 不区分大小写的匹配
s 是 带有换行的 匹配
但是 “百度” 前面 还是有 换行符存在的 所以 你需要替换 他们
$content = str_replace("\n",'',$content);
$content = str_replace("\r",'',$content);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个真太专业了,你自己在查查吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询