How do I filter Smarty variable to output only numbers?

regex, smarty, string

Solution

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]+/':''}
                                      ^       ^

Problem

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.

Original source