3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = 'My nAmE ïs Tom.'; // case-sensitive matching, including partial matching $array = ['foo', 'nAmE']; $regex[] = '/' . implode('|', array_map(fn($v) => preg_quote($v, '/'), $array)) . '/'; // case-insensitive matching, including partial matching $array = ['foo', 'om']; $regex[] = '/' . implode('|', array_map(fn($v) => preg_quote($v, '/'), $array)) . '/i'; // case-insensitive matching, full word matching only $array = ['foo', 'tom']; $regex[] = '/\b(?:' . implode('|', array_map(fn($v) => preg_quote($v, '/'), $array)) . ')\b/i'; // case-insensitive matching, full word matching only, multibyte aware $array = ['foo', 'ïs']; $regex[] = '/\b(?:' . implode('|', array_map(fn($v) => preg_quote($v, '/'), $array)) . ')\b/iu'; foreach ($regex as $r) { if (preg_match($r, $string, $m)) { echo "found '$m[0]' using $r on $string\n"; } else { echo "no match using $r on $string\n"; } }

preferences:
46.54 ms | 402 KiB | 5 Q