
功能區塊 PREG_FILTER 使用正規表達式進行搜尋和替換。
注意:此函數是二進位安全的。這意味着 UTF8 字元無法直接處理。
除了功能區塊 PREG_FILTER 僅在匹配時返回(可能已轉換的)字串外,它與功能區塊 PREG_REPLACE 完全相同。
要搜尋的表達式字串。也有幾個 PCRE 修飾符可用。
替換的字串。這些可以包含形式為 \n 或 $n 的引用,後者更可取。每個此類引用都會被第 n 個括號內的搜尋模式捕獲的文本替換。n 可以是 0 到 99 之間的值。\0 或 $0 指的是與完整搜尋模式匹配的文本。要獲取捕獲子搜尋模式的編號,從左到右開始計算開放括號 1。在替換中使用反斜線時,必須將其加倍 "\\"。
如果您想要一個替換,其中後向引用直接跟隨另一個數字(即,在與搜尋模式匹配後應該有一個數字),則不能使用 \1 形式的寫法來進行您的後向引用。例如,\11 會使函數感到困惑,因為它不知道您是想要後向引用 \1 後跟隨數字 1,還是僅後向引用 \11。此時的解決方案是使用 ${1}1。這樣會產生一個隔離後向引用 $1,而 1 則保持為字母符號。
如果您使用過時的修飾符 e,此函數會對幾個字元(即 '、"、\ 和 NULL)進行遮罩,這些字元將用於替換後向引用的字串。這是為了確保在使用包含單引號或雙引號的後向引用時不會發生語法錯誤。請務必了解字串語法,以便知道評估後的字串看起來如何。
輸入定義要搜尋的字串。
每個 subject 中每個搜尋模式的最大可能替換次數。預設值:-1 或 NULL(無限制)。
如果找到匹配項(可能已轉換),則返回新字串 Q,否則返回不變的 SUBJECT 或 NULL,如果發生錯誤。
輸出返回執行的替換次數。