簡體   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