私たちの研究では、実際には多くの問題を継続的に解決する必要があります。 PHP 正規表現を照合する場合、POSIX では通常のテーブル関数を使用するだけでは複雑な照合操作を実行するのは困難です。そこで、PHP 正規表現の複数行の照合を実装する方法を説明します。
たとえば、ファイル全体 (特に複数行のテキスト) に対して一致検索を実行します。 ereg() を使用してこれを行う 1 つの方法は、別々の行で行うことです。リスト 6.5 の例は、 ereg() が INI ファイルのパラメーターを配列に割り当てる方法を示しています。
コード6.5 ファイル内容のPHP正規表現複数行マッチング
<ol class="dp-xml"><li class="alt"><span><span class="tag"><</span><span> ?php </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></span></li></ol>
上記のコード例は、PHP正規表現複数行マッチングの具体的な実装方法ですので、読んでいただければ理解できると思います。