2013-04-05 99 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