我正在尝试获取两个大括号或Smarty标签之间的内容。我只想用 smarty 函数获取变量,忽略if
's 等。
以下是示例字符串标签:
{{$variable|lower}}
[应该匹配]
{{$variable|escape:javascript}}
[应该匹配]
{{$variable|str_replace:"search":"replace"}}
[应该匹配]
{{if $test eq "test"}}
[不应匹配]
{{section name=foo start=10 loop=20 step=2}}
[不应匹配]
如果我这样做
preg_match_all('/{{\$?(\w+?[\W\w]*?)}}/',$str,$matches)
它得到括号内的所有内容。
preg_match_all('/{{\$?(\w+?\W*?\w*?)}}/',$str,$matches);
这只会得到“变量|转义”。
请帮助正确的正则表达式。
谢谢