Some info about Smarty 3 in case if someone want to achieve the same in Smarty 3 and not in Smarty 2:
The first thing is that you need to add parentheses to make it work. substr:$bar_at+1
won't work but substr:($bar_at+1)
will work.
But in fact you can use simpler syntax:
{assign var="var" value="ABC | DEFGH"}
{$var|substr:($var|strpos:"|"+1)}
This will give you DEFGH
with space at the beginning (before and |
are spaces inside var in your question and in my example) and as you want to get string without space you should use in this case +2
instead of +1
:
{$var|substr:($var|strpos:"|"+2)}
Those above were tested in Smarty 3.1.19
.
You should also know that in previous versions (before Smarty 3.1) if you have in your string UTF-8 characters you should rather use mb_
functions.
As of Smarty 3.1 in case if mbstring
extension is installed Smarty automatically uses mb_
functions in that case so there won't be any problem with utf-8 characters.
You can read more about Smarty utf-8 encoding