3v4l.org

run code in 300+ PHP versions simultaneously
<?php echo Module::work('hello world.'), "\n"; echo MyModule::work('hello world.'), "\n"; echo YourModule::work('hello world.'); abstract class Module { private static $mask = '[[[%s]]]'; public static function work($it) { return preg_replace_callback('~\w+~', 'static::replace', $it); } private static function replace($matches) { return sprintf(static::$mask, $matches[0]); } } abstract class MyModule extends Module { protected static $mask = '{{{%s}}}'; } abstract class YourModule extends Module { protected static $mask = '***%s***'; public static function work($it) { return call_user_func('parent::work', $it); } }

preferences:
78.83 ms | 402 KiB | 5 Q