Transliterator::listIDs
IntlBreakIterator
Transliterator
PHP Manual

# Transliterator::transliterate

# transliterator_transliterate

(PHP >= 5.4.0, PECL intl >= 2.0.0)

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

### 説明

オブジェクト指向型

public string Transliterator::transliterate ( string `$subject` [, int `$start` [, int `$end` ]] )

手続き型

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('&#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::getErrorMessage() - 直近のエラーメッセージを取得する
- Transliterator::__construct() - インスタンス化を拒否するために private にしたコンストラクタ

Transliterator::listIDs
IntlBreakIterator
Transliterator
PHP Manual