如何將{@if condtwo}
的內容轉換爲匹配的{!if}
?獲取匹配模板標籤之間的內容
{@if condtwo}
{@if condone}
show this if condone is true
{!if}
other contents
{!if} <- matching {!if}
我試過使用preg_match_all
。這裏是我的正則表達式:
/([\s]*?{@IF(.*?)}[\s]*?)(.+?)([\s]*?{!$IF}[\s]*?)/si
的問題是,它只是變得均來自{@if condtwo}
內容下一{!if}
:
{@if condtwo}
{@if condone}
this is a table
{!if}
請不要試圖解析那些使用正則表達式。雖然PHP支持遞歸匹配(至少,我認爲它) - 你真的不應該這樣做。這很混亂。 – Ryan