如何用 preg_replace 替换多个花括号实例?

How to replace multiple instances of curly braces with preg_replace?

为了娱乐和学习经验,我正在尝试创建自己的 URL 路由库。

如何替换这样的 url:

/board/{forum}/{topic}

有了这个:

/board/(.*)/(.*)

我在做:

preg_replace("#\{.*\}#", '(.*)' ,'/board/{forum}/{topic}', -1);

但是得到:

/board/(.*)

只需在您的正则表达式中添加一个 ?,这样它就不会像这样贪婪:

#\{.*?\}#
   //^ See here