本文目錄一覽:
PHP preg_replace 出現警告
這是因為閣下寫的正則語句有誤,使用preg_replace()函數,其中的正則語句要有這樣的格式:
mixed preg_replace( mixed pattern, mixed replacement, mixed subject [, int limit ] )
//即:
preg_replace(“/正則表達式/”, “替換的內容”, “需要匹配替換的對象”, “可選,指定替換的個數,如果省略 limit 或者其值為 -1,則所有的匹配項都會被替換”)
而閣下的語句,把頁面那一句獲得後,就是這樣的樣子了:
preg_replace(“/(^|)page=/1”, “”, $urlQuery);
不知道是不是這樣的結果, 我也只是猜測,但你看它的結構,就不對了,正則末尾沒有/,而前面多了一個,顯示你是不夠仔細,沒把斜杠加到末尾。所以,你應該把什麼斜杠加在末尾的,即:
preg_replace(“/(^|)page=”.$this-pageIndex.”/”, “”, $urlQuery);
php preg_replace 正則替換
?php
$str = ‘sdfsdfa href=”地址” target=”_blank”img style=”padding- bottom:數值px;width:數值px;height:數值px;” src=”地址”//aimg /’;
$str = preg_replace(‘/a href=\”[^\”]+\”\s+target=”_blank”img\s+style=”padding\s*-\s*bottom:[^\”]+px;\s*width:[^\”]+px;\s*height:[^\”]+px;”\s*src=”[^\”]+”\/\/a/i’,”,$str);
echo $str;
?
php 正則函數 preg_replace
因為數組裡面你先寫了#ab#,後寫的#abc#,實際工作時系統先使用第一組參數替換,然後使用第二組參數替換。
如果你希望得到22結果,應該交換數組裡面兩個的順序。
PHP 關於preg_replace的問題
正則表達式是需要有開始和結束標記的
你的第一個表達式應該改成#[/\\]{1}#$,第二個應該改成#Admin[/\\]{0,1}#$
單詞Delimiter 表示分界符,第一個是它認為你用[作為分界符,只找到開頭的[而沒有找到另一個匹配的[作為結尾報錯。第二個是告訴你分界符必須是非字母數字和白字符,因為你的第一個字是A,而A是不能做分界符的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/259443.html