簡體   English   中英

條件的正則表達式

[英]Regular Expression for a condition

我正在構建HTML模板系統,我需要允許用戶添加條件,如下所示。

if條件的示例;

..HTML...
[if:UserLevel > 100]
    ...conditional HTML...
[endif]
...More HTML....

我需要一個匹配的PHP正則表達式;

[if:$]
   $
[endif]

$,如果是變量/通配符。

"/\[if:([^]]+)](.*?)\[endif]/s"

將按照您的要求進行。

請注意 ,僅將像這樣的普通正則表達式用於模板並不是一種有效的方法,甚至在某些情況下也不起作用。 例如,使用此類正則表達式解析它們時,您不能嵌套這些if語句。

有很多模板語言,我建議您看一看。 (除非您僅出於教育目的這樣做。)

preg_match("(\[if:([^]+])\](.*?)\[endif\])is",$data);

s修飾符允許輸入數據中包含換行符。

如果捕獲到匹配項,則$match[1]為條件,而$match[2]為其中的HTML。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM