PHP Conference Japan 2024

MessageFormatter::parseMessage

msgfmt_parse_message

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

MessageFormatter::parseMessage -- msgfmt_parse_message快速解析输入字符串

描述

面向对象风格

public static MessageFormatter::parseMessage(string $locale, string $pattern, string $message): array|false

过程式风格

msgfmt_parse_message(string $locale, string $pattern, string $message): array|false

在不显式创建格式化程序对象的情况下解析输入字符串。当格式化操作只执行一次并且不需要保留任何参数或状态时,可以使用此函数。

参数

locale

用于解析依赖于区域设置的部分的区域设置。

pattern

用于解析message的模式。

message

要解析的string,符合pattern

返回值

包含已提取项目的array,或者在发生错误时返回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,
)

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top