(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)
Transliterator::transliterate -- transliterator_transliterate — Транслитерировать строку
Объектно-ориентированный стиль
$subject
[, int $start
[, int $end
]] ) : stringПроцедурный стиль
$transliterator
, string $subject
[, int $start
[, int $end
]] )Преобразует строку или ее часть используя транслитератор ICU.
transliterator
В процедурном варианте, Transliterator или строка, из которой может быть собран объект Transliterator.
subject
Строка для транслитерации.
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 𝄞