3v4l.org

run code in 300+ PHP versions simultaneously
<?php const PRIV_API_KEY = '1234-5678-8426'; const PRIV_ACCESS_TOKEN = 'fnse0segh-23hfoeghl-fseuhosz'; const NONPRIV_CONST = 42; $priv_constants = array_filter(get_defined_constants(true)['user'], function ($k) { return substr($k, 0, 4) == 'PRIV'; }, ARRAY_FILTER_USE_KEY); $regexes = array_map(function ($v) { return '/' . preg_quote($v) . '/' ; }, $priv_constants); $message = 'Lorem ipsum dolor sit ammet 1234-5678-8426 bibendum id et dolor. Lorem ipsum dolor fnse0segh-23hfoeghl-fseuhosz sit ammet bibendum id et dolor.'; $message = preg_replace_callback($regexes, function ($m) { return preg_replace('/[^-]/', '*', $m[0]); }, $message); echo $message;
Output for git.master, git.master_jit, rfc.property-hooks
Lorem ipsum dolor sit ammet ****-****-**** bibendum id et dolor. Lorem ipsum dolor *********-*********-******** sit ammet bibendum id et dolor.

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
17.65 ms | 401 KiB | 8 Q