私のテキストは次のようなものです:
[if-abc]content of abc[/if] [if-def]content of def[/if]
一致させたい:
[if-abc]content of abc[/if] and then [if-def]content of def[/if]
しかし、私の現在の関数はすべてに一致します。終了[/if]タグの最初の出現と一致するようにするにはどうすればよいですか
$m = null;
preg_match_all('/\[if-([a-z-]*)\](.*)\[\/if\]/', $source, $m);
これは、同じ行に複数の条件が存在する場合を除いて機能します。