Php/docs/messageformatter.parsemessage

提供:Dev Guides
< Php
移動先:案内検索

MessageFormatter::parseMessage

msgfmt_parse_message

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

MessageFormatter::parseMessage -- msgfmt_parse_message手早く入力文字列をパースする


説明

オブジェクト指向型

public static MessageFormatter::parseMessage ( string $locale , string $pattern , string $source ) : array

手続き型

msgfmt_parse_message ( string $locale , string $pattern , string $value ) : array

明示的にフォーマッタオブジェクトを作成せずに、 手早く入力文字列をパースします。 この関数を使用するのは、 一度きりのフォーマット処理であってパラメータや状態を保持する必要がない場合です。


パラメータ

locale
ロケールに依存する部分をパースする際に使用するロケール。
pattern
value のパースに使うパターン。
source
パースする文字列。pattern を満たします。


返り値

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


例1 msgfmt_parse_message() の例

<?php$fmt = msgfmt_parse_message('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree",                            "4,560 monkeys on 123 trees make 37.073 monkeys per tree");var_export($fmt);$fmt = msgfmt_parse_message('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum",                             "4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");var_export($fmt);?>

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

<?php$fmt = MessageFormatter::parseMessage('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree",                            "4,560 monkeys on 123 trees make 37.073 monkeys per tree");var_export($fmt);$fmt = MessageFormatter::parseMessage('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum",                             "4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");var_export($fmt);?>

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

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

参考