2013-04-05 133 views
1

我有以下字符串組建一個預浸比賽都在PHP的開始靜態字符串:預浸匹配所有與模式

{{beginning_of_string|:|optional_param|:|http_link}} 
{{beginning_of_string|:|optional_param|:|text}} 
{{beginning_of_string}} 

所有這些可能性三者可以進行整體的字符串,或者只是一個單一事件。這裏是我的正則表達式到目前爲止:

preg_match_all('#\{\{beginning_of_string(.+?)\}\}#', $content, $string) 

到目前爲止,只有前兩次出現的字符串,而不是最後一個匹配。這正則表達式只是最後出現的匹配:

#\{\{beginning_of_string\}\}# 

我是相當新的正則表達式,所以我知道這可能是簡單的東西。任何人有任何想法?提前致謝。

回答

3

+表示「一次或多次重複」。

你需要*爲 「零次或多次重複」:

preg_match_all('#\{\{beginning_of_string(.*?)\}\}#', $content, $string) 
+0

哈哈哈我就知道!謝謝蒂姆。 – 2013-04-05 20:07:46