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 7.1.25 - 7.1.28, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Lorem ipsum dolor sit ammet ****-****-**** bibendum id et dolor. Lorem ipsum dolor *********-*********-******** sit ammet bibendum id et dolor.

preferences:
156.79 ms | 403 KiB | 165 Q