Транслитерация символов и ссылок на php

Под транслитерацией символов подразумевается перевод русских букв в их латинские аналоги таким образом, чтобы их можно было прочитать.

Разработка данного кода на PHP может потребоваться сервисам, которые не поддерживают кириллицу, например, при отправке sms или создании ссылок из кириллических аналогов.

Специально для этого я создал хорошую функцию, которая способна произвести транслитерацию русских символов согласно ГОСТ в 3 режимах: прямая, обратная и URL транслитерация.

В скачанном примере вы найдете функцию translitstr($text, $tip), где в параметр $text вы должны передавать текст, который надо преобразовать, а в $tip - 1 из 3 параметров, задания режима транслита:

  • 'translit' - транслитерация прямая -> transliteraciya pryamaya
  • 'untranslit' - transliteraciya obratnaya -> транслитерация обратная
  • 'urltranslit' - транслитерация ссылки, с удалением перевода строк и лишними знаками препинания. Пробелы заменяются на знак тире. Причем если пробелов несколько, то тире будет одним.

На этом вы уже можете успешно использовать данную функцию для траслита. А для тех кому интересна регулярка (реализованных в данной функции) - смотрите пояснения:

$text = preg_replace('/[^\w\s]/u', '', $text); //удаляем все знаки препинания, остаются только буквы и пробелы с переводами строк
$text = preg_replace('/(\s)+/', '-', $text); //заменяем первый перевод строки или пробел на знак тире. Остальные переводы или пробелы обрезаются
$text = mb_strtolower($text, 'UTF-8'); } //переводим строку в нижний регистр

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

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


Введите капчу: