-2
[foreach:regex]
    [r_hello]
[/foreach]

上記を一致させようとしています: (とregexの間の単語) は であり、 と の間のすべてはになります。:]$1[foreach:regex][/foreach]$2

これまでのところ、私はこれを持っています:/\[foreach:(.*)\](.*)\[\/foreach\]/s

しかし、私はこのエラーが発生しています:Notice: Undefined index: regex] [r_hello

4

1 に答える 1

1

試す:

/\[foreach:([^\]]*)\]\s*\[([^\]]*)\]\s*\[\/foreach\]/s

http://phpfiddle.org/main/code/7av-ypa

問題は次のとおりです。

  1. あなたは任意の文字の 1 つまたは複数の一致に貪欲でした。これはここで回避できます
  2. 空白(改行とタブ)を考慮していませんでした
  3. 中央のアイテムを囲む角括弧を考慮していませんでした。
于 2012-11-06T21:41:10.160 に答える