php正则过滤标签
❶ php怎么使用正则去除字符串中带有某个class的标签
<?php
$str='<ulid="Lb_show">
<listyle="float:left;width:100%;"class="clone">
<imgsrc="/banner5.jpg">
</li>
<listyle="float:left;width:70%;">
<imgsrc="/banner1.png">
</li>
<listyle="float:left;width:60%;"class="clone">
<imgsrc="/banner1.png">
</li>
<listyle="float:left;width:30%;">
<imgsrc="/banner1.png">
</li>
<listyle="float:left;width:50%;"class="clone">
<imgsrc="/banner5.jpg">
</li>
</ul>';
$str=preg_replace('~<li.*?class="clone"[sS]*?</li>~','',$str);
echo$str;
❷ PHP正则去掉<p>和</p>
$new = preg_replace("/<p.*?>|<\/p>/is","", $str);
var_mp($new);
❸ php怎样用正则表达式提取span标签中内容并过滤掉p和br标签
你要过滤的字符串是不是就都是这种,就这么长的。
你的需求是不是就是把字符串里面的各种标签都去掉?
如果你的需求和上面的说的相符,不需要用正则表达式,PHP 提供了 strip_tags 函数,用来过滤字符串里面的 html 标签,接收两个参数:第一个参数是要处理的字符串,第二个参数是允许(要保留)的tag
$str='<spanid="aaa"><p>11111</p><br><p>22222</p><span>';
echostrip_tags($str);//output:1111122222
echostrip_tags($str,'<span>');//output:<spanid="aaa">1111122222<span>
我觉得这可能是你的实际需求,如果不符合你的需求,继续追问。
❹ php通过正则过滤img标签
推荐使用这个html操作库
The DomCrawler Component
网页链接
❺ 关于php使用正则表达式过滤table标签,包含里面的内容也一起过滤掉,注意table标签里面会含有其它属性
preg_match("/^(.*?)<table.*?<\/table>$/", $content, $match);
$match[]里面就有你要的内容
注意*符号的贪婪性,用?可以使之变懒惰
❻ 求一个php简单的过滤除<br>,<p>,<style>html标签的正则或方法
针对你这个<a>123</a>的例子的
$a=<<<str
<a>123</a>
str;
$preg ="/<(a)>(.*?)<\/(\1)>/is";
$str = preg_replace($preg, "<a>\\2</a>", $a);
echo $str;
除此之外PHP还有一个 过滤标签的函数 你可以看一下手册
❼ php 用正则表达式,去除A标签
stringstrip_tags ( string$str [, string$allowable_tags ] )
从字符串中去除 HTML 和 PHP 标记
❽ php 正则过滤掉 指定的a标签
我这个更好
<?php
$str='<a class="qc" href="/car">汽车</a><a class="db" href="/car">大巴</a><a class="qc" href="/car">汽车</a>';
$str=preg_replace("/<a class=\"qc\" href=\"(.*)\">(.*)<\\/a>/iU","$2",$str); //过滤script标签
echo $str;
?>
❾ php用正则表达式过滤html标签的问题
恕我直言(奥巴马更爱说这个词),你对正则表达式和你提供的这些代码的作用一无所知
[ATTACHMENT]和正则表达式没有关系,推断是DISCUZ等用到的BBCODE,你的目的就是用正则表达式把<a href="xxx.php?filename=abc.jpg">图片</a>这样的HTML替换成
[ATTACHMENT]abc.jpg[/ATTACHMENT]
So,
你提供的$_pattern的0和1元素分别是正则表达式和要替换成的字符。
简要说一下,匹配的正则表达式里的()中间的内容可以在被替换的字符串中的$1,$2等表示。
看正则表达式有3个括号,第二个和第三个分别匹配文件名和扩展名
所以,要替换成的字符串中的$2和$3将是文件名和扩展名
于是,
以上的实例被替换的结果是
[ATTACHMENT]abc.jpg[/ATTACHMENT]
at last and the point
系统学习正则表达式,他是非常有用的
by the way,20分对我来说根本不算什么,写这几句话的功夫20元都挣上了
只是想帮帮你
❿ php正则表达式过滤某些HTML标签代码
如果只要
<b>
标签,不用“过滤”的方法,用“提取”的方法更简单。
$str
=
'<img
src="xxx"><b>aaa</b><br>\n<b>b\nbb</b><span
style="color:#FF0000;">yyy</span>';
$pattern
=
'/<b>(((?!<\/b>).)*)<\/b>/mi';
preg_match_all($pattern,
$str,
$matches,
PREG_SET_ORDER);
print_r($matches);
输出
Array
(
[0]
=>
Array
(
[0]
=>
<b>aaa</b>
[1]
=>
aaa
[2]
=>
a
)
[1]
=>
Array
(
[0]
=>
<b>b\nbb</b>
[1]
=>
b\nbb
[2]
=>
b
)
)
$matches[0][0],$matches[1][0]
是你想要的结果?