聪明地删除一个特定单词和下一个逗号之间的所有内容
Smarty Remove Everything Between one specific Word and the next Comma
我想用smarty替换一个变量中的字符串(出于某些原因,我只能用Smarty来做,而不是用php)
我知道要写的 Smarty 行将具有以下形状:
{$MyVar|escape:"htmlall"|regex_replace:xxxxxx}
但是,我不知道替换后放什么。
在变量值中,字符串具有以下形状:
- 多多abcd1234,
多多总是同一个字
abcd1234 可以是任何字母数字字符或 space
逗号(,)是要删除的字符串的结尾
字符串可以在变量值的开头、中间或结尾。
我要删除:
- Toto 和下一个逗号之间的字符串
- 或(更好)同时删除 Toto、字符串和逗号
提前感谢您的帮助。
帕特里克
要从 Toto
中删除整个子字符串直到并包括逗号,您可以使用
|regex_replace:'/\bToto[^,]*,/':""
或者如果您使用独立变量:
{'/\bToto[^,]*,/'|preg_replace:'':$MyVar}
正则表达式细分:
\b
- 单词边界
Toto
- 单词 "Toto"
[^,]*
- ,
以外的 0 个或多个符号
,
- 文字逗号
我想用smarty替换一个变量中的字符串(出于某些原因,我只能用Smarty来做,而不是用php)
我知道要写的 Smarty 行将具有以下形状: {$MyVar|escape:"htmlall"|regex_replace:xxxxxx}
但是,我不知道替换后放什么。
在变量值中,字符串具有以下形状:
- 多多abcd1234,
多多总是同一个字
abcd1234 可以是任何字母数字字符或 space
逗号(,)是要删除的字符串的结尾
字符串可以在变量值的开头、中间或结尾。
我要删除:
- Toto 和下一个逗号之间的字符串
- 或(更好)同时删除 Toto、字符串和逗号
提前感谢您的帮助。
帕特里克
要从 Toto
中删除整个子字符串直到并包括逗号,您可以使用
|regex_replace:'/\bToto[^,]*,/':""
或者如果您使用独立变量:
{'/\bToto[^,]*,/'|preg_replace:'':$MyVar}
正则表达式细分:
\b
- 单词边界Toto
- 单词 "Toto"[^,]*
-,
以外的 0 个或多个符号
,
- 文字逗号