How do I filter Smarty variable to output only numbers?

橙三吉。 提交于 2019-12-02 03:33:04

问题


Fairly simple question, but I am new to regular expressions and smarty templates, and I can't seem to figure out how to get this working in my smarty template.

Basically, I have smarty string that can contain string values like:

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

I want to extract just the integers from the string so that the output is as followed:

11
12
21

As you can see, I'm removing everything but the integers. I tried doing the following after searching around, but it doesn't work or output anything.

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

Fairly simple but I'm just not sure what I'm doing wrong.


回答1:


You are missing the regex delimiter(i.e. //) for your regex. Use the following one, and check how the delimiter is added.

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



回答2:


Try this, it will also allow floating numbers as well:

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


来源:https://stackoverflow.com/questions/22568960/how-do-i-filter-smarty-variable-to-output-only-numbers

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!