PHP Conference Nagoya 2025

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

Смотрите также

  • msgfmt_create() - Создаёт средство форматирования сообщений
  • msgfmt_format_message() - Быстро форматирует сообщение
  • msgfmt_parse() - Разбирает строку согласно шаблону

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top