解決「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中文網其他相關文章!