我正在使用preg_match在模板文件中查找标记名称。
目前我最接近的是:
preg_match('/\{db:(.*)\}/',$haystack,$found);
适用于这样的字符串:
<a href="index.php?view=products&cat={db:id}">Test</a>
它就像我期待的那样给我id
。但是,当使用多次出现的字符串时,例如:
<a href="index.php?view=products&cat={db:id}">{db:name}</a>
它返回给我id}">{db:name
,而不是我期待的id
和name
。
我哪里错了?
答案 0 :(得分:2)
您需要添加(.*)
字符来使?
非贪婪,否则它将占用尽可能多的字符。像这样:
preg_match('/\{db:(.*?)\}/', $haystack, $found);