(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";
//now the reverse operation with a supplementary character
$supplChar = html_entity_decode('𝄞');
echo mb_strlen($supplChar, "UTF-8"), "\n";
$encSupplChar = transliterator_transliterate("Any-Hex/Java", $supplChar);
//echoes two encoded UTF-16 code units
echo $encSupplChar, "\n";
//and back
echo transliterator_transliterate("Hex-Any/Java", $encSupplChar), "\n";
?>
上の例の出力は、 たとえば以下のようになります。
お早うございます 1 \uD834\uDD1E 𝄞