|
|
@ -104,19 +104,29 @@ if (class_exists('PEAR')) { |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* Similar function as in_array() but case-insensitive |
|
|
|
* Similar function as in_array() but case-insensitive with multibyte support. |
|
|
|
* |
|
|
|
* @param string $needle Needle value |
|
|
|
* @param array $heystack Array to search in |
|
|
|
* @param string $needle Needle value |
|
|
|
* @param array $heystack Array to search in |
|
|
|
* |
|
|
|
* @return boolean True if found, False if not |
|
|
|
*/ |
|
|
|
function in_array_nocase($needle, $haystack) |
|
|
|
{ |
|
|
|
$needle = mb_strtolower($needle); |
|
|
|
foreach ((array)$haystack as $value) { |
|
|
|
if ($needle === mb_strtolower($value)) { |
|
|
|
return true; |
|
|
|
// use much faster method for ascii
|
|
|
|
if (is_ascii($needle)) { |
|
|
|
foreach ((array) $haystack as $value) { |
|
|
|
if (strcasecmp($value, $needle) === 0) { |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
$needle = mb_strtolower($needle); |
|
|
|
foreach ((array) $haystack as $value) { |
|
|
|
if ($needle === mb_strtolower($value)) { |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|