<?php
$string = 'My nAmE ïs Tom.';
// case-sensitive matching, including partial matching
$array = ['foo', 'nAmE'];
$regex[] = '#' . implode('|', array_map('preg_quote', $array)) . '#';
// case-insensitive matching, including partial matching
$array = ['foo', 'om'];
$regex[] = '#' . implode('|', array_map('preg_quote', $array)) . '#i';
// case-insensitive matching, full word matching only
$array = ['foo', 'tom'];
$regex[] = '#\b(?:' . implode('|', array_map('preg_quote', $array)) . ')\b#i';
// case-insensitive matching, full word matching only, multibyte aware
$array = ['foo', 'ïs'];
$regex[] = '#\b(?:' . implode('|', array_map('preg_quote', $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:
27.18 ms | 406 KiB | 5 Q