聪明地删除一个特定单词和下一个逗号之间的所有内容

Smarty Remove Everything Between one specific Word and the next Comma

我想用smarty替换一个变量中的字符串(出于某些原因,我只能用Smarty来做,而不是用php)

我知道要写的 Smarty 行将具有以下形状: {$MyVar|escape:"htmlall"|regex_replace:xxxxxx}

但是,我不知道替换后放什么。

在变量值中,字符串具有以下形状:

字符串可以在变量值的开头、中间或结尾。

我要删除:

提前感谢您的帮助。

帕特里克

要从 Toto 中删除整个子字符串直到并包括逗号,您可以使用

|regex_replace:'/\bToto[^,]*,/':""

或者如果您使用独立变量:

{'/\bToto[^,]*,/'|preg_replace:'':$MyVar}

regex demo is here

正则表达式细分:

  • \b - 单词边界
  • Toto - 单词 "Toto"
  • [^,]* - ,
  • 以外的 0 个或多个符号
  • , - 文字逗号