MessageFormatter::parse
msgfmt_parse
(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
MessageFormatter::parse -- msgfmt_parse — パターンを使用して入力文字列をパースする
説明
オブジェクト指向型
public
MessageFormatter::parse
( string $value
) : array
手続き型
msgfmt_parse
( MessageFormatter $fmt
, string $value
) : array
入力文字列をパースし、取り出した項目を配列で返します。
パラメータ
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 auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");$res = msgfmt_parse($fmt, "4.560 Affen auf 123 Bäumen sind 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 auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");$res = $fmt->parse("4.560 Affen auf 123 Bäumen sind 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() - 手早く入力文字列をパースする