if( strlen($search) < 3) Если ввожу 2 символа латиницей, то проверка срабатывает, а если кириллицей, то нет.
ssh PHP: <?php if(function_exists('mb_strlen')) $len = mb_strlen($var); elseif(function_exists('iconv_strlen')) $len = iconv_strlen($var);
if (!function_exists('mb_strlen')) { function mb_strlen($search) { return strlen(iconv("UTF-8","cp1251", $search)); } } if(empty($search) or mb_strlen($search) < 3) Так работает, но когда скажем вставляешь 3 таких символа ššš -то проверка не проходит!
ssh И не будет. Посмотрите, что делает ваша функция - конвертирует данные из utf-8 в cp1251. А в cp1251 нет таких символов.
ssh http://php.net/mb_strlen (PHP>=4.0.6; PHP5) Или ждать РНР6, где будет (по обещаниям) полная (более лучшая) поддержка utf8 index.php (сохранить в utf8, а не в ansi) PHP: <?php setlocale (LC_ALL, 'ru_RU.utf8'); header ('Content-type: text/plain; charset=utf-8'); $string = 'ššš'; echo 'String length: ' . mb_strlen ($string); ?>