Preg匹配都不会找到字符串

时间:2014-01-17 09:43:12

标签: php regex preg-match-all

我的preg_match_all功能:

preg_match_all("{lang:(.*?)}", $template, $found_langs);

模板如:

<h1>{lang:Choose sport}</h1>

但它找不到它......但是如果我用它:

preg_match_all("{lang:(\w*)}", $template, $found_langs);

它会找到Choose。我需要找Choose sport ..

任何人都知道为什么(.*?)不起作用?

1 个答案:

答案 0 :(得分:7)

尝试转义{字符并在preg_match_all中使用//作为RegEx模式:

preg_match_all("/\{lang:(.*?)\}/i", $template, $found_langs);

模式结尾处的//i是不区分大小写的。