MessageFormatter::parseMessage
MessageFormatter::setPattern
MessageFormatter
PHP Manual

# MessageFormatter::parse

# msgfmt_parse

(No version information available, might be only in CVS)

MessageFormatter::parse -- msgfmt_parse — パターンを使用して入力文字列をパースする

### 説明

オブジェクト指向型

array MessageFormatter::parse ( string `$value` )

手続き型

array msgfmt_parse ( MessageFormatter `$fmt` , string `$value` )

入力文字列をパースし、取り出した項目を配列で返します。

### パラメータ

`fmt`

  メッセージのフォーマッタ。

`value`

  パースする文字列。

### 返り値

取り出した項目を含む配列を返します。 エラーが発生した場合は `FALSE` を返します。

### 例

例1 msgfmt_parse() の例

`<?php
$fmt = msgfmt_create('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
$res = msgfmt_parse($fmt, "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);
$fmt = msgfmt_create('de', "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum");
$res = msgfmt_parse($fmt, "4.560 Affen über 123 Bäume um 37,073 Affen pro Baum");
var_export($res);
?>`

例2 オブジェクト指向の例

`<?php
$fmt = new MessageFormatter('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
$res = $fmt->parse("4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);
$fmt = new MessageFormatter('de', "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum");
$res = $fmt->parse("4.560 Affen über 123 Bäume um 37,073 Affen pro Baum");
var_export($res);
?>`

上の例の出力は以下となります。

    array (
      0 => 4560,
      1 => 123,
      2 => 37.073,
    )
    array (
      0 => 4560,
      1 => 123,
      2 => 37.073,
    )

### 参考

- msgfmt_create()
- msgfmt_format()
- msgfmt_parse_message()

MessageFormatter::parseMessage
MessageFormatter::setPattern
MessageFormatter
PHP Manual