如何在 Smarty 中截断请求 URI 以获取第一个块?

How to truncate the request URI in Smarty to get just the first chunk?

在 Smarty 3 和我的特殊情况下,这

{$smarty.server.REQUEST_URI}

returns 一个包含 4 个块的 URI,例如“/category/vendor/articlenum/articlename”。

如何使用 Smarty 修改此字符串以仅获取“/category”或“/category/”?

我找到了一个可能的解决方案,方法是首先用 substr 删除前导斜杠。然后,我使用 regex_replace 删除尾部,从第一个剩余的斜杠开始。

{assign var=truncUri value=$smarty.server.REQUEST_URI|substr:1|regex_replace:"/\/(.*)/"}

这会产生字符串 "category"。这一步之后,我在模板中使用结果: /{$truncUri}/