| 882 | | $string = call_user_func_array($function, array($string) + $args); |
|---|
| | 883 | $accepted_args = 1; |
|---|
| | 884 | |
|---|
| | 885 | if (!is_array($function)) { |
|---|
| | 886 | $args_marker = strrpos($function, ':'); |
|---|
| | 887 | if ($args_marker > 0) { |
|---|
| | 888 | $accepted_args = intval(substr($function, $args_marker+1)); |
|---|
| | 889 | $function = substr($function, 0, $args_marker); |
|---|
| | 890 | } |
|---|
| | 891 | } else { |
|---|
| | 892 | $args_marker = strrpos($function[1], ':'); |
|---|
| | 893 | if ($args_marker > 0) { |
|---|
| | 894 | $accepted_args = intval(substr($function[1], $args_marker+1)); |
|---|
| | 895 | $function[1] = substr($function[1], 0, $args_marker); |
|---|
| | 896 | } |
|---|
| | 897 | } |
|---|
| | 898 | |
|---|
| | 899 | if ($accepted_args > 0) { |
|---|
| | 900 | $args = array_slice($all_args, 0, $accepted_args); |
|---|
| | 901 | } elseif($accepted_args == 0) { |
|---|
| | 902 | $args = NULL; |
|---|
| | 903 | } else { |
|---|
| | 904 | $args = $all_args; |
|---|
| | 905 | } |
|---|
| | 906 | |
|---|
| | 907 | $string = call_user_func_array($function, $args); |
|---|