私はこのテンプレートファイルを持っています:
<!-- BEGIN TEST -->
<!-- BEGIN TEST2 -->
<!-- BEGIN TEST3 -->
<!-- END TEST3 -->
<!-- END TEST2 -->
<!-- END TEST -->
そしてそれを解析するためのこの正規表現:
preg_match("@<!-- BEGIN (.*?) -->(.*?)<!-- END (.*?) -->@siu", $this->code, $matches);
これは(var_dump)を返します:
array(3) {
[0]=>
string(85) "<!-- BEGIN TEST -->
<!-- BEGIN TEST2 -->
<!-- BEGIN TEST3 -->
<!-- END TEST3 -->"
[1]=>
string(4) "TEST"
[2]=>
string(5) "TEST3"
}
このように機能させる方法:(@<!-- BEGIN (.*?) -->(.*?)<!-- END %1 -->@siu
もちろんこれは機能しません。問題を示すのは私の例にすぎません)