>  기사  >  백엔드 개발  >  解读PHP正则表达式多行匹配的相关代码示例_PHP教程

解读PHP正则表达式多行匹配的相关代码示例_PHP教程

WBOY
WBOY원래의
2016-07-15 13:31:01899검색

在的学习中,很多问题都需要我们在实践中不断的解决。我们在进行PHP正则表达式的匹配的时候,仅仅使用POSIX下的正则表式函数,很难进行复杂的匹配操作,那么该如何实现PHP正则表达式多行匹配呢。

例如,对整个文件(尤其是多行文本)进行匹配查找。使用ereg()对此进行操作的一个方法是分行处理。代码6.5的示例演示了ereg()如何将INI文件的参数赋值到数组之中。

代码6.5 文件内容的PHP正则表达式多行匹配

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><span> ?php  </span></span></span></li>
<li>
<span>$</span><span class="attribute">rows</span><span> = </span><span class="attribute-value">file</span><span>('php.ini'); //将php.ini文件读到数组中  </span>
</li>
<li class="alt"><span>//循环遍历  </span></li>
<li><span>foreach($rows as $line)  </span></li>
<li class="alt"><span>{  </span></li>
<li><span>If(trim($line))  </span></li>
<li class="alt"><span>{  </span></li>
<li><span>//将匹配成功的参数写入数组中  </span></li>
<li class="alt"><span>if(eregi("^([a-z0-9_.]*) *=(.*)", $line, $matches))  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>$options[$matches[1]] = trim($matches[2]);  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>unset($matches);  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>//输出参数结果  </span></li>
<li class="alt"><span>print_r($options);  </span></li>
<li>
<span class="tag">?></span><span> </span>
</li>
</ol>

以上代码示例就是PHP正则表达式多行匹配的具体实现方法,希望大家看后能有所体会。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446248.htmlTechArticle在的学习中,很多问题都需要我们在实践中不断的解决。我们在进行PHP正则表达式的匹配的时候,仅仅使用POSIX下的正则表式函数,很难进...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.