Transliterator::transliterate

transliterator_transliterate

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

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

説明

オブジェクト指向型

public Transliterator::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
𝄞

参考

関連キーワード:  Transliterator, 音訳, 変換, string, transliterate, 位置, transliterator, インデックス, int, 単位