繁体   English   中英

preg_match不在特定标签之间

[英]preg_match not between specific tags

我有模板引擎。 匹配{if} ... {/ if}块时,将按{else | elif}条件拆分内容。

但是,当内容嵌套{if} ... {/ if}块时,{else | elif}条件算法匹配错误的else或elif标签。

也许我有这样的内容;

示例内容

黑线应该可以选择,红线不能选择。

这是我的旧匹配模式,但无法正常工作

/{(else|elif)[\s]*(.*?)[\s]*}/
preg_match_all("/\{\/if}(.*?)\{if \$test3 \}/ms", $input_lines, $output_array);
Echo $output_array[1];

实际观看http://www.phpliveregex.com/p/fhf

(您需要按下preg_match_all按钮才能使其正常工作)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM