我有一個PHP文件中的模板標籤,我似乎無法與正則表達式匹配。其實,我以前用過的東西我已經做過,但這次我不能使用它。所有的模板標籤都會看起來像這樣:{$EXAMPLE}
,一個美元符號周圍的兩個縮寫,後面跟着任何東西。實際上,例子這個詞總是大寫,可能包含下劃線或短劃線,但這部分並不是必須的。我已經是這樣的:php正則表達式匹配模板標籤
模板文件:
{$HEADER}
{$MENU}
{$BODY}
{$FOOTER}
PHP文件:
$template = file_get_contents(TEMPLATE);
preg_match_all('^{$.*}^U', $template, $matches);
var_dump($matches);
其中var_dump
輸出空數組。
什麼awfu你在那裏選擇了'^'[分隔符](http://www.php.net/manual/en/regexp.reference.delimiters.php)? ...問題是,你沒有逃避'$'。它是正則表達式中的[metacharcter](http://www.regular-expressions.info/characters.html):用於結束行/字符串的錨點。爲了匹配文字'$',它必須被轉義爲'\ $'。 –