Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как всегда мучаюсь из-за UTF-8!!! :( (проверка кол-ва символов)
 
 автор: Maxam   (19.01.2008 в 18:06)   письмо автору
 
 

Как всегда мучаюсь из-за UTF-8!!! :(
На этот раз проверка кол-ва символов!

Т.е. мне нужно проверить, чтобы пользователь не вводил большее количество символов в поле чем разрешено! Но из-за UTF-8 все не так работает как надо!

Если поле text например заполнено русскими символами, то будет введено допустим 50 символов, а с проверкой
if ( strlen ( $_POST[text] ) > 50 ) $error = true;

он будет выдавать ошибку, даже когда только 40 введено, потому как в UTF-8 один символ кодируются несколькими!!!

Как решить проблему?

   
 
 автор: bronenos   (19.01.2008 в 18:12)   письмо автору
 
   для: Maxam   (19.01.2008 в 18:06)
 

mb_strlen

   
 
 автор: Maxam   (19.01.2008 в 18:38)   письмо автору
 
   для: bronenos   (19.01.2008 в 18:12)
 

Пишет:

Fatal error: Call to undefined function mb_strlen() in...

Может у меня какой библиотеки не хватает?

   
 
 автор: bronenos   (19.01.2008 в 18:39)   письмо автору
 
   для: Maxam   (19.01.2008 в 18:38)
 

а iconv?

   
 
 автор: Unkind   (19.01.2008 в 20:05)   письмо автору
 
   для: Maxam   (19.01.2008 в 18:38)
 

Попробуйте iconv_strlen().

В противном случае

<?php
function utf8_strlen($string)
{
    return 
strlen(preg_replace('/./us''.'$string));
}
?>

   
 
 автор: KPETuH   (19.01.2008 в 20:58)   письмо автору
 
   для: Maxam   (19.01.2008 в 18:06)
 

<input type='text' maxlength='50' name='name' /> в данной конкретной ситуации

   
 
 автор: localGhost   (20.01.2008 в 06:17)   письмо автору
 
   для: KPETuH   (19.01.2008 в 20:58)
 

><input type='text' maxlength='50' name='name' /> в данной конкретной ситуации

Как дополнительный вариант, но на стороне сервера все равно лучше выполнять проверку.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования