MessageFormatter
PHP Manual

MessageFormatter::parse

msgfmt_parse

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

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 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,
)

参考


MessageFormatter
PHP Manual