Smarty 从字符串中删除最后一个字符,如果它是 '/'

Smarty delete last character from string if it's '/'

我正在尝试从 smarty 变量中获取最后一个字符。 我知道我可以使用 substr 删除最后一个字符,也可以用 replace 替换一个字符。 但我只想删除以 /

结尾的最后一个字符

比如我的字符串是/homepage/,我想变成/homepage

但是如果我有 /homepage 它应该是 /homepage

编辑:

也适用于字符串 /homepage/? -> /homepage?

您可以使用 Smarty regex_replace 并匹配到 \ 如果它是带有 \/$ 的最后一个字符并将其替换为空字符串。

同理可以用regex_replace替换/?结尾的?

{$variable|regex_replace:"/\/$/":""|regex_replace:"/\/\?$/":"?"}

使用Smarty变量修饰符regex_replace:

{$url|regex_replace:"#/$#":""}