(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)
Transliterator::transliterate -- transliterator_transliterate — Транслитерировать строку
Объектно-ориентированный стиль
Процедурный стиль
$transliterator,$string,$start = 0,$end = -1Преобразовывает строку или её часть, используя транслитератор ICU.
transliteratorВ процедурном варианте, Transliterator или строка, из которой может быть собран объект Transliterator.
stringСтрока для транслитерации.
startНачальный индекс, включительно, (в кодовых единицах UTF-16), с которого начинается часть строки, предназначенная для транслитерации. Индексация начинается с 0. Текст до этой позиции останется как есть.
endНачальный индекс, не включая, (в кодовых единицах UTF-16), которым заканчивается часть строки, предназначенная для транслитерации. Индексация начинается с 0. Текст с этой позиции останется как есть.
Возвращает преобразованную строка в случае успешного выполнения или false, если возникла ошибка.
Пример #1 Конвертация экранированной UTF-16 строки
<?php
$s = "\u304A\u65E9\u3046\u3054\u3056\u3044\u307E\u3059";
echo transliterator_transliterate("Hex-Any/Java", $s), "\n";
//теперь обратная операция с дополнительным символом
$supplChar = html_entity_decode('𝄞');
echo mb_strlen($supplChar, "UTF-8"), "\n";
$encSupplChar = transliterator_transliterate("Any-Hex/Java", $supplChar);
//вывод двух кодированных UTF-16 символов
echo $encSupplChar, "\n";
//и назад
echo transliterator_transliterate("Hex-Any/Java", $encSupplChar), "\n";
?>Вывод приведённого примера будет похож на:
お早うございます 1 \uD834\uDD1E 𝄞