如何过滤Smarty变量以仅输出数字?

时间:2014-03-21 20:31:47

标签: regex string smarty

相当简单的问题,但我是正则表达式和智能模板的新手,我似乎无法弄清楚如何在我的智能模板中使用它。

基本上,我有一个聪明的字符串,可以包含字符串值,如:

Home Page Layout 1-1
Home Page Layout 1-2
Home Page Layout 2-1 
etc..  

我想从字符串中只提取整数,以便输出如下:

11
12
21

正如你所看到的,除了整数之外,我除去了所有东西。我在搜索后尝试了以下操作,但它没有工作或输出任何东西。

{$SelectHomePageLayout|regex_replace:'[^0-9]+':''}

相当简单,但我不确定我做错了什么。

2 个答案:

答案 0 :(得分:3)

您缺少正则表达式的正则表达式分隔符(即//)。使用以下方法,并检查添加分隔符的方式。

{$SelectHomePageLayout|regex_replace:'/[^0-9]+/':''}
                                      ^       ^

答案 1 :(得分:1)

尝试一下,它也将允许使用浮点数:

{$my_string|regex_replace:'/[^0-9,.]+/':''}