7

{}でラップされたすべての単語を一致させようとしていますが、「_loop」を含む単語は一致させていません。reg式のどこが間違っているのかわかりません。

 $content   = '<h1>{prim_practice_name}</h1><p>{prim_content}</p><p>Our Locations Are {location_loop}{name} - {state}<br/>{/location_loop}</p>';
 $pattern = '/\{(\w*(?!\_loop))\}/';
4

1 に答える 1

7

これは、次のように、\ w *がチェックの前に停止ワード「_loop」を「食べる」ため、最初に(\ w *の前に)ワードをチェックする必要がないために発生します。

$pattern = '/\{((?!\w*_loop\})\w*)\}/';

または、次を使用できます?< !::

$pattern = '/\{(\w*(?<!_loop))\}/';
于 2013-03-26T00:18:16.057 に答える