Transliterator::transliterate
transliterator_transliterate
(PHP 5 >= 5.4.0, PHP 7, PECL intl >= 2.0.0)
Transliterator::transliterate -- transliterator_transliterate — 文字列を音訳する
説明
オブジェクト指向型
public Transliterator::transliterate
( string $subject
[, int $start
[, int $end
]] ) : string|false
手続き型
transliterator_transliterate
( mixed $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 unitsecho $encSupplChar, "\n";//and backecho transliterator_transliterate("Hex-Any/Java", $encSupplChar), "\n";?>
上の例の出力は、 たとえば以下のようになります。
お早うございます 1 \uD834\uDD1E 𝄞
参考
- Transliterator::getErrorMessage() - 直近のエラーメッセージを取得する
- Transliterator::__construct() - インスタンス化を拒否するために private にしたコンストラクタ