在的學習中,很多問題都需要我們在實踐中不斷的解決。我們在進行PHP正則表達式的匹配的時候,僅僅使用POSIX下的正則表式函數,很難進行復雜的匹配操作,那麼該如何實現PHP正則表達式多行匹配呢。
例如,對整個文件(尤其是多行文本)進行匹配查找。使用ereg()對此進行操作的一個方法是分行處理。代碼6.5的示例演示了ereg()如何將INI文件的參數賦值到數組之中。
代碼6.5 文件內容的PHP正則表達式多行匹配
- < ?php
- $rows = file('php.ini'); //將php.ini文件讀到數組中
- //循環遍歷
- foreach($rows as $line)
- {
- If(trim($line))
- {
- //將匹配成功的參數寫入數組中
- if(eregi("^([a-z0-9_.]*) *=(.*)", $line, $matches))
- {
- $options[$matches[1]] = trim($matches[2]);
- }
- unset($matches);
- }
- }
- //輸出參數結果
- print_r($options);
- ?>
以上代碼示例就是PHP正則表達式多行匹配的具體實現方法,希望大家看後能有所體會。