Википедия, капслок и кодировки.

Опубликовано Опубликовано в рубрике Easy Patch, PHP

Рассмотрим сегодня один маленький патч, который поможет каталогу автоматически генерировать ссылку на сайт Wikipedia.
В создании каталога продукции или чего бы то ни было, вполне может пригодиться ссылка на расширенную стороннюю информацию. Самая большая вёб-энциклопедия сегодня поддерживает подачу русского языка в адресную строку, чем мы нагло воспользуемся.

На входе у нас есть русское имя какого-либо итема каталога. Кладём его прямо в ссылку

Подробная информация

Здесь переменная $name являет собой кириллическое имя итема предположительно в кодировке UTF-8.

В своей работе я встретился с интересной проблемой. В базе данных город Брест был написан верхним регистром («БРЕСТ»). Как выяснилось, Брест — это действительно город в Белоруссии, а вот БРЕСТ — это какая-то техногенная инновация российского производства. И, поскольку адрес чувствителен к регистру, пользователю, желающему почитать про старый известный город, на голову сваливалась статья о реакторах на быстрых нейтронах со свинцовым теплоносителем. Это не дело. Так что исправим это недоразумение.

PHP из коробки умеет работать с регистрами написания текста. Используем три функции:

mb_strtoupper(<строка>, '<кодировка>');
mb_strtolower(<строка>, '<кодировка>');  
mb_convert_case(<строка>, MB_CASE_TITLE, "<кодировка>");

По порядку:

  1. ПОЛНЫЙ ПЕРЕВОД В ВЕРХНИЙ РЕГИСТР
  2. полный перевод в нижний регистр
  3. Оставляем в верхнем регистре только заглавную букву

Нам потребуется функция за нумером 3. В качестве строки мы подаём нашу переменную $name, а кодировкой послужит текущая кодировка вывода информация на нашем сайте. В итоге в URL выведется что-то в духе

http://www.ru.wikipedia.org/wiki/Брест

Вот и всё!

Безошибочного кода Вам!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *