3v4l.org

run code in 500+ PHP versions simultaneously
<?php function foo() { return "Wykopek"; } function bar($a) { return $a . ' harnasia'; } $template = "Michał {{foo}} kończył {{bar, 5}}."; $result = preg_replace_callback('/{{([^}]+)}}/', function($matches) { $parts = explode(', ', $matches[1]); $functionName = array_shift($parts); return $functionName(...$parts); }, $template); echo $result;
Output for 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.31, 8.3.0 - 8.3.31, 8.4.1 - 8.4.22, 8.5.0 - 8.5.7
Michał Wykopek kończył 5 harnasia.

preferences:
129.38 ms | 1415 KiB | 4 Q