我的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
..
任何人都知道为什么(.*?)
不起作用?
答案 0 :(得分:7)
尝试转义{
字符并在preg_match_all中使用//
作为RegEx模式:
preg_match_all("/\{lang:(.*?)\}/i", $template, $found_langs);
模式结尾处的//i
是不区分大小写的。