MessageFormatter::formatMessage

msgfmt_format_message

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

MessageFormatter::formatMessage -- msgfmt_format_messageБыстро форматирует сообщение

Описание

Объектно-ориентированный стиль

public static MessageFormatter::formatMessage ( string $locale , string $pattern , array $args ) : string

Процедурный стиль

msgfmt_format_message ( string $locale , string $pattern , array $args ) : string

Функция быстрого форматирования, которая форматирует строку без необходимости явно создавать объект форматирования. Используйте эту функцию, когда операция форматирования выполняется только один раз и не требует сохранения параметров или состояния.

Список параметров

locale

Локаль, используемая для форматирования частей, зависящих от локали

pattern

Строка (string) шаблона для вставки аргументов. В шаблоне используется "дружественный к апострофам" синтаксис; перед интерпретацией он проходит через » umsg_autoQuoteApostrophe.

args

Массив значений (array) для вставки в строку формата (string).

Возвращаемые значения

Строка отформатированного шаблона или false в случае возникновения ошибки.

Примеры

Пример #1 Пример использования msgfmt_format_message()

<?php
echo msgfmt_format_message("en_US""{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree\n", array(45601234560/123));
echo 
msgfmt_format_message("de""{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", array(45601234560/123));
?>

Пример #2 Пример использования в объектно-ориентированном стиле

<?php
echo MessageFormatter::formatMessage("en_US""{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree\n", array(45601234560/123));
echo 
MessageFormatter::formatMessage("de""{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", array(45601234560/123));
?>

Результат выполнения данного примера:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum

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

  • msgfmt_create() - Создаёт средство форматирования сообщений
  • msgfmt_parse() - Разбирает строку согласно шаблону
  • msgfmt_get_error_code() - Возвращает код ошибки последней операции
  • msgfmt_get_error_message() - Возвращает текст ошибки последней операции

add a note add a note

User Contributed Notes 1 note

up
3
zlobnygrif at gmail dot com
8 years ago
<?php
var_dump
(
 
msgfmt_format_message('ru_RU', 'The value of {somekey} is {0, choice, 0 #less 12| 12 #between 12 and 32| 32 #more than 32}', ['SomeAnotherKey' => -1]),
 
msgfmt_format_message('ru_RU', 'The value of {somekey} is {0, choice, 0 #less 12| 12 #between 12 and 32| 32 #more than 32}', [14]),
 
msgfmt_format_message('ru_RU', 'The value of {somekey} is {0, choice, 0 #less 12| 12 #between 12 and 32| 32 #more than 32}', [133]),
 
msgfmt_format_message('ru_RU', '{0, plural, =0{Zero}=1{One}other{Unknown #}}', [0]),
 
msgfmt_format_message('ru_RU', '{0, plural, =0{Zero}=1{One}other{Unknown #}}', [1]),
 
msgfmt_format_message('ru_RU', '{0, plural, =0{Zero}=1{One}other{Unknown #}}', [2]),
 
msgfmt_format_message('ru_RU', '{0, select, somevalue{This is some value} other{Unknown value}}', ['somevalue']),
 
msgfmt_format_message('ru_RU', '{0, select, somevalue{This is some value} other{Unknown value "{0}"}}', ['somevalue2'])
);

var_dump(
 
msgfmt_format_message('en_GB', 'Peter has {0, plural, =0{no cat} =1{a cat} other{# cats}}', [0]),
 
msgfmt_format_message('en_GB', 'Peter has {0, plural, =0{no cat} =1{a cat} other{# cats}}', [1]),
 
msgfmt_format_message('en_GB', 'Peter has {0, plural, =0{no cat} =1{a cat} other{# cats}}', [2])
);
?>

Output (PHP 5.4.17RC1)
==========================
string 'The value of -1 is less 12' (length=26)
string 'The value of 14 is between 12 and 32' (length=36)
string 'The value of 133 is more than 32' (length=32)
string 'Zero' (length=4)
string 'One' (length=3)
string 'Unknown 2' (length=9)
string 'This is some value' (length=18)
string 'Unknown value "somevalue2"' (length=26)
string 'Peter has no cat' (length=16)
string 'Peter has a cat' (length=15)
string 'Peter has 2 cats' (length=16)
To Top