@ 2022-10-22T06:05:32Z <?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";
}
}
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.4.0 - 7.4.33 , 8.0.1 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.19 , 8.3.0 - 8.3.7 found 'nAmE' using /foo|nAmE/ on My nAmE ïs Tom.
found 'om' using /foo|om/i on My nAmE ïs Tom.
found 'Tom' using /\b(?:foo|tom)\b/i on My nAmE ïs Tom.
found 'ïs' using /\b(?:foo|ïs)\b/iu on My nAmE ïs Tom.
preferences:dark mode live preview
93.55 ms | 403 KiB | 123 Q