首頁 >後端開發 >php教程 >為什麼我收到'preg_match 中未知的修飾符'g'”以及如何修復它?

為什麼我收到'preg_match 中未知的修飾符'g'”以及如何修復它?

Linda Hamilton
Linda Hamilton原創
2024-11-13 10:31:02752瀏覽

Why Am I Getting

解決「PHP 中preg_match 中的未知修飾符'g'」

在探索正規表示式的複雜性時,您可能遇到了錯誤使用preg_match 時顯示訊息「未知修飾符'g' in...」。當嘗試在正規表示式模式中使用“g”修飾符時,會出現此問題。但是,preg_match 中沒有 'g' 修飾符。

要解決此問題,您需要切換到 preg_match_all 函數。與 preg_match 搜尋模式的第一次出現並傳回布林值不同,preg_match_all 搜尋模式的所有出現並傳回符合陣列。

正確修改的正規表示式模式

您原來的正規表示式模式是:

/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim

使用此模式與preg_match_all,修改如下:

/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im

修訂程式碼

將原始preg_match 呼叫替換為以下內容:

preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)
將原始preg_match 呼叫替換為以下內容:

以上是為什麼我收到'preg_match 中未知的修飾符'g'”以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn