Question

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.

Was it helpful?

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

OTHER TIPS

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

{$my_string|regex_replace:'/[^0-9,.]+/':''}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top