Як в PHP кількість символів підрахувати і визначити свій талант

17

Від автора: стислість – сестра таланту, «засів» у Twitter! Сьогодні я спробую створити програмний «тренажер», який дозволить виробити у користувачів звичку висловлюватися стисло. Для цього потрібно навчитися підраховувати за допомогою PHP кількість символів.

Набираємо форму

Спочатку нам потрібно набрати форму. Так би мовити, привести в тонус свої мозкові м’язи. Для цього потренуємося в верстці веб-форми для тренажера:

Тренажер таланту

Введіть текст повідомлення довжиною не більше 140 символів:

Так форма для рахунку знаків у рядку виглядає у браузері:

Як в PHP кількість символів підрахувати і визначити свій талант

Обробляємо

Тепер переходимо до написання обробника форми. Ось його перший варіант:

«;
echo «Кількість знаків — «.strlen($comment).»
«;
echo «Ви талант!!!»;
}
else{
echo $comment.»
«;
echo «Кількість знаків — «.strlen($comment).»
«;
echo «Ваш талант потрібно підтягнути!»;
}
?>

Як в PHP кількість символів підрахувати і визначити свій талант

Щоб визначити довжину тексту, ми використовували функцію strlen(). В якості параметрів вона приймає рядок і повертає кількість символів в ній.

Хоча ця функція володіє одним серйозним недоліком: вона вважає не кількість символів, а байт. Але в кожній з текстових кодувань символ може займати різну кількість байт. Наприклад, в Unicode це може бути і два, і чотири.

Нівелюємо проблему кодування

Щоб «нівелювати» цю проблему, застосуємо іншу функцію – iconv_strlen(). На відміну від попередньої ця дозволяє порахувати число знаків з урахуванням використовуваного кодування. У наступному прикладі демонструється різниця кількості символів в одному і тому ж рядку, але в різних кодуваннях:

«;
echo «Довжина рядка в UTF-8: «.iconv_strlen($stroka).»
«;
echo iconv(«KOI8-U», «UTF-8″, $stroka).»
«;
echo «Довжина рядка в KOI8-U «.iconv_strlen(iconv(«KOI8-U», «UTF-8», $stroka));
?>

Як в PHP кількість символів підрахувати і визначити свій талант

Зверніть увагу, яка різниця результату роботи функції при передачі їй у якості параметра одне й того ж тексту.

Другий варіант

Валідація форм – одне з найболючіших місць будь-якого веб-розробника. Наприклад, у реєстраційних формах потрібно забезпечити правильний синтаксис введених даних (електронної пошти, пароль, логіна).

Крім цього валиадация може бути затребувана у формах коментування, відгуків. Особливо це стосується довжини тексту. Часто розробникам потрібно обмежити цей показник до певного значення. І не виводити коментар, якщо він довший «дозволеного».

Подібне рішення можна реалізувати на основі першого прикладу:

«;
echo «Кількість знаків — «.strlen($comment).»
«;
echo «Ви талант!!!»;
}
else{
echo «

Кількість знаків — «.strlen($comment).». Це перевищує дозволений обсяг. Коментар не буде опублікований.

«;
}
?>

Як в PHP кількість символів підрахувати і визначити свій талант

Сьогодні ми потрудилися як справжні таланти: розробили геніальний тренажер геніальності. А також дізналися, як підрахувати кількість знаків у тексті. Це самий «верх» талановитості і дарування Як в PHP кількість символів підрахувати і визначити свій талант .