PHP作為一種服務器端編程語言,其強大的正則表達式處理能力在各類Web應用程序中得到廣泛應用。正則表達式能夠從文本中快速精準地匹配出需要的信息,PHP中的正則表達式處理函數也是其唯一的操作手段。以下是PHP正則表達式的一些常見應用場景及處理方法。
匹配數字:
$pattern = '/\d+/'; //一個或多個數字 $str = 'PHP2022年將迎來75周年'; preg_match_all($pattern, $str, $matches); print_r($matches); //[2022, 75]
匹配單詞:
$pattern = '/\b\w+\b/'; //一個或多個單詞字符 $str = 'Hello, World!'; preg_match_all($pattern, $str, $matches); print_r($matches); //['Hello', 'World']
匹配電子郵件地址:
$pattern = '/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/'; //Email地址 $str = 'My email is example@mail.com.'; preg_match_all($pattern, $str, $matches); print_r($matches); //[example@mail.com]
替換字符串:
$pattern = '/\s(love|like)\s/'; //匹配'love'或'like'單詞 $replacement = '-hate-'; //替換為'-hate-' $str = 'I love PHP, but I don\'t like JavaScript.'; echo preg_replace($pattern, $replacement, $str); //輸出:I-hate-PHP,-but-I-don't-hate-JavaScript.
判斷URL是否合法:
$pattern = '/^(http|https|ftp)\:\/\/([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3})(\/\S*)?$/'; $url = 'https://www.example.com/path/to/page'; if(preg_match($pattern, $url)){ echo 'URL合法'; } else { echo 'URL不合法'; }
除上述應用場景,PHP正則表達式處理還可實現更復雜的功能,如匹配電話號碼、判斷IPv4地址合法性、從HTML代碼中提取特定標簽等等。使用正則表達式時應注意提高代碼可讀性,減少不必要的查找范圍,避免寫出歧義甚至死循環的表達式。
下一篇php 模塊說明