Transliterator::transliterate

transliterator_transliterate

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Transliterator::transliterate -- transliterator_transliterate文字列を音訳する

説明

オブジェクト指向型

publicTransliterator::transliterate(string$string, int$start = 0, int$end = -1): string|false

手続き型

transliterator_transliterate(
    Transliterator|string$transliterator,
    string$string,
    int$start = 0,
    int$end = -1
): string|false

文字列あるいはその一部を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";

//now the reverse operation with a supplementary character
$supplChar = html_entity_decode('&#x1D11E;');
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 𝄞

参考

To Top