CleverCode found that calling phpbuilt-in functions in smarty can be achieved through |. |No spaces before and after. If it is an array, you need to add @ to find the count.
When there is 1 parameter:
{{'param1'|functionName}}
For example,
{{$tmpStr|strlen}}
When there are 2 parameters:
{{'param1'|functionName:'param2'}}
{$tmpStr|substr:'1'}
When there are multiple parameters:
{{'param1'|functionName:'param2':'param3'..}}
{{$tmpStr|substr:'1':' 2'}}
{{'a'|str_replace:'A':$tmpStr}}
The following code php assigns to tmpStr if it is empty or not assigned; then 0 is output in smarty. This calls PHP's built-in function strlen
php code:
$smarty->assign('tmpStr','');
smarty code:
{{if $tmpStr|strlen > 0 }}
1
{{else}}
0
{{/if}}
Find the length of the array through PHP’s built-in functions is_array and count. The following code outputs 5
php code:
{{$tmpArr|@count}}
{{else}}
0
{{'b'|str_replace:'c':$tmpStr}}
Output: acc
{{$tmpStr|substr:'1'}}
Output:bb
{{$tmpStr|substr:'1':'1'} }
Output: b
The above is the detailed content of How to call php built-in functions in smarty. For more information, please follow other related articles on the PHP Chinese website!