在PHP语言的学习中,很多问题都需要我们在实践中不断的解决。我们在进行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正则表达式多行匹配的具体实现方法,希望大家看后能有所体会。