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]
是你想要的結果?