private static function WordValidate() { $ArWord = (array) self::$ArWord; $ArWordValidated = array(); if (empty($ArWord)) { return FALSE; } # # Array with undesirable and desirable chars # The undesirable chars are replaced # $ArCharOld = explode(' ', 'À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ý ý þ ÿ Ŕ ŕ'); $ArCharNew = explode(' ', 'a a a a a a a c e e e e i i i i d n o o o o o o u u u u y b b a a a a a a a c e e e e i i i i d n o o o o o o u u u y y b y R r'); $ArReplace = array_combine($ArCharOld, $ArCharNew); unset($ArCharOld, $ArCharNew); # # Word's minimum size to save in database # if (empty(self::$ItWordMinSize)) { self::$ItWordMinSize = getOption('word_min_size'); } foreach ((array) $ArWord as $StWord) { $StWord = strtr($StWord, $ArReplace); # # Valid chars # $StWord = preg_replace('/[^ [:alnum:]]/', ' ', $StWord); $StWord = str_replace(' ', '', $StWord); # # Only words bigger than "ItWordMinSize" (see "option.xml") # if (isset($StWord[self::$ItWordMinSize]) && !is_numeric($StWord)) { $ArWordValidated[] = addslashes(strtoupper($StWord)); } } self::$ArWord = (array) $ArWordValidated; }