3v4l.org

run code in 300+ PHP versions simultaneously
<?php $lookup = [ 'Name' => 'Joseph', 'Name_en' => 'Joe', 'Name_es' => 'Jose', '19' => 'age', '2019' => 'year', '20' => 'next birthday', ]; $str = "Name : Name_en, 2019 19 20"; $subpattern = implode('|', array_map('preg_quote', array_keys($lookup))); echo preg_replace_callback( "#\b($subpattern)\b#", fn($m) => $lookup[$m[0]], $str );

preferences:
55.87 ms | 988 KiB | 5 Q