查詢

MessageFormatter::parse()函式—用法及示例

「 將格式化的訊息解析為訊息的引數陣列 」


PHP函式:MessageFormatter::parse()

適用版本:PHP 5 >= 5.3.0, PHP 7

用法:MessageFormatter::parse() 函式將格式化的訊息解析為訊息的引數陣列。它使用 ICU MessageFormat 模式來解析訊息,並根據提供的引數生成最終的訊息。

語法:array MessageFormatter::parse(string $locale, string $pattern, string $message)

引數:

  • $locale:要使用的區域設定。例如:"en_US"、"zh_CN" 等。
  • $pattern:用於解析訊息的 ICU MessageFormat 模式。
  • $message:要解析的格式化訊息。

返回值:返回一個包含解析後的訊息引數的陣列,如果解析失敗則返回 FALSE。

示例:

$locale = 'en_US';
$pattern = 'There {0, plural, =0{are no messages} =1{is one message} other{are # messages}}.';
$message = 'There are 5 messages.';

$result = MessageFormatter::parse($locale, $pattern, $message);

print_r($result);

輸出:

Array
(
    [0] => 5
)

在上面的示例中,我們使用了英文(美國)的區域設定和一個包含引數的訊息模式。我們將訊息 "There are 5 messages." 傳遞給 MessageFormatter::parse() 函式,它解析了訊息,並返回一個包含引數值的陣列。在這種情況下,解析結果是一個陣列 [5],表示有 5 條訊息。

請注意,該函式還可以處理更復雜的訊息模式,並根據提供的引數生成相應的訊息。

補充糾錯
熱門PHP函式
分享連結