array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'messageformatter.parsemessage.php', 1 => 'MessageFormatter::parseMessage', ), 'up' => array ( 0 => 'class.messageformatter.php', 1 => 'MessageFormatter', ), 'prev' => array ( 0 => 'messageformatter.getpattern.php', 1 => 'MessageFormatter::getPattern', ), 'next' => array ( 0 => 'messageformatter.parse.php', 1 => 'MessageFormatter::parse', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/intl/messageformatter/parse-message.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
MessageFormatter::parseMessage -- msgfmt_parse_message — Быстро разбирает входную строку
Объектно-ориентированный стиль
$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, )