ConFoo 2025

MessageFormatter::parse

msgfmt_parse

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

MessageFormatter::parse -- msgfmt_parseРазбирает строку согласно шаблону

Описание

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

public MessageFormatter::parse(string $string): array|false

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

msgfmt_parse(MessageFormatter $formatter, string $string): array|false

Разбирает входную строку (string) и возвращает все извлечённые элементы в виде массива (array).

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

formatter

Объект MessageFormatter.

string

Строка (string) для разбора.

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

Массив (array), содержащий извлечённые элементы или false в случае возникновения ошибки.

Примеры

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

<?php
$fmt
= msgfmt_create('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
$res = msgfmt_parse($fmt, "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$fmt = msgfmt_create('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
$res = msgfmt_parse($fmt, "4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($res);
?>

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

<?php
$fmt
= new MessageFormatter('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
$res = $fmt->parse("4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$fmt = new MessageFormatter('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
$res = $fmt->parse("4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($res);
?>

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

array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)
array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)

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

Добавить

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

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