Smarty 正则表达式替换订单号

Smarty regex replace Ordernumber

我有一个如下所示的订单号:1001-00001.2 但我想要没有额外的 .2

我尝试在我的代码中使用以下内容:

{$sArticle.ordernumber|regex_replace:"/'.'/\d":" "}

它没有用,因为我不知道如何使用点。

点匹配任何单个字符。尝试转义它:

{$sArticle.ordernumber|regex_replace:"/\.\d+$/":""}

这里实际上有一些变化。

  • 一切都被移动到标记正则表达式
  • /.../
  • 点被转义为 \
  • \d 添加了量词 (+),因此它匹配一个 或更多 个数字。
  • 锚点 ($) 用于确保它不匹配字符串末尾以外的任何地方。
  • 替换现在是一个空字符串