導航:首頁 > 凈水問答 > php正則表達式過濾span

php正則表達式過濾span

發布時間:2025-06-18 05:03:53

① unknownerrorPHP正則的UnknownModifier錯誤解決方法

當編寫PHP代碼時,遇到正則表達式錯誤「Unknown Modifier 'p'」可能令開發者感到困惑。本文將詳細介紹此問題的起因與解決辦法,旨在幫助PHP開發者順利解決該問題。

錯誤提示通常出現在嘗試運行以下正則表達式代碼時:$a='2tóngdòng垌3';echo preg_replace('/[^<]*?/','',$a);。

問題的根源在於:在使用斜杠(/)作為正則表達式的定界符時,正則表達式內部也包含斜杠,導致PHP誤將其中一個斜杠解析為結束定界符,引發未知修飾符錯誤。

解決這個問題的方法有以下兩種:

方法一:通過添加轉義符來明確區別正則表達式中的斜杠,避免誤識別。修改後的代碼如下:echo preg_replace('/[^<]*?<\/span>/','',$a);。

方法二:改變正則表達式的定界符,以避免沖突。可以使用花括弧({})作為定界符,代碼修改如下:echo preg_replace('{[^<]*?}','',$a);。

通過上述解決方法,可以有效避免在PHP中使用正則表達式時遇到「Unknown Modifier 'p'」錯誤。理解並正確處理此類錯誤,對於提升代碼質量與編寫效率至關重要。希望本文提供的信息能為有需要的PHP開發者提供幫助,助您在編程路上更加順利。

② 使用php正則式去除字元串中最後一個斜杠及之後的內容

可以參考下面的兩種方法:

1、var s = '一句話描/述(您的)/疑問/123一二三abc';

s.replace(/(.*)/{1}.*/, '$1'); //標准模式下,.*會自動匹配到最專後一個位置

//輸出屬 "一句話描/述(您的)/疑問"

2、$str = '一句話描/述(您的)疑問/123一二三abc';

$str = preg_replace('/(.*)/{1}([^/]*)/i', '$1', $str);

echo $str;

(2)php正則表達式過濾span擴展閱讀:

PHP正則表達式中的參考函數:

pattern: 要搜索的模式,字元串類型。

subject:輸入字元串。

match: 如果提供了參數matches,它將被填充為搜索結果,數據結構為一維數組。

flags: 可以設置為PREG_OFFSET_CAPTURE,使用搜索結果的第0個元素為匹配的字元串,第1個元素為對應的偏移量(位置)

offset: 搜索從目標字元串的起始位置開始匹配。

pattern:要搜索的模式。可以是一個字元串或字元串數組。

replacement:用於替換的字元串或字元串數組

③ 用php過濾html部分標簽

$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]*

④ php正則表達來獲取html中的部分內容

1、幾種函數的簡單說明:

(1)preg_grep -- 返回與模式匹配的數組單元
preg_grep 返回一個input 數組中與給定的 pattern 模式相匹配的單元所組成的數組。

(2)preg_match -- 進行正則表達式匹配
說明:int preg_match ( string pattern, string subject [, array matches [, int flags]] )在 subject 字元串中搜索與 pattern 給出的正則表達式相匹配的內容。 返回值0或1。

(3)preg_replace -- 執行正則表達式的搜索和替換

(4)preg_split -- 用正則表達式分割字元串

2. 一般來說,如果用正則來獲取匹配內容,一般使用 preg_match/ preg_match_all 函數。

補充回答:

正則表達式如下:
'%<div class="wap2"><span>功能</span>(.*?)</div>%si'

以下是代碼,經測試,運行正常:

<?php
$str = '<div class="wap2"><span>功能</span>這裡面是要獲取的內容,不能確定什麼字元,可能是數字(123456…)字母(badn…),特殊浮等(o_O\(^o^)/…)</div>';
$pa = '%<div class="wap2"><span>功能</span>(.*?)</div>%si';
preg_match($pa,$str,$r);
echo $r[1];
?>

閱讀全文

與php正則表達式過濾span相關的資料

熱點內容
汽車過濾器是什麼材料 瀏覽:939
錦鯉過濾系統什麼好 瀏覽:478
冷的空氣濾芯怎麼取出來清洗 瀏覽:449
塑料凈水壺什麼材質最好 瀏覽:46
壓縮空氣管道除油除塵過濾器 瀏覽:364
寧國眾益水安污水處理怎麼樣 瀏覽:648
反滲透水口感差怎麼辦 瀏覽:816
壓縮機油外置過濾器 瀏覽:626
空氣濾芯在什麼位置好 瀏覽:205
美菱反滲透凈水器怎麼更換濾芯 瀏覽:68
為什麼飲水機里有蟑螂 瀏覽:985
污水排水口貼什麼顏色 瀏覽:955
液壓泵裡面有過濾器嗎 瀏覽:923
酚醛樹脂加熱分解什麼 瀏覽:191
污水處理廠的選址有什麼要求 瀏覽:679
如何更換鈴木奧拓車機油濾芯 瀏覽:874
怎麼清洗大松空氣凈化器 瀏覽:974
廁所怎麼抽污水 瀏覽:521
地下室做了環氧樹脂車輛打滑 瀏覽:155
純爾康凈水器怎麼樣 瀏覽:955