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

尝试匹配上述内容: ( and之间的regex单词) will be以及介于:and will be之间的任何内容。]$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. 您贪婪地匹配一个或多个任何字符,这可以在此处避免
  2. 您没有考虑空格(换行符和制表符)
  3. 您没有考虑中心项目周围的方括号。
于 2012-11-06T21:41:10.160 回答