在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);
?>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
以上代码示例就是PHP正则表达式多行匹配的具体实现方法,希望大家看后能有所体会。