(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
MessageFormatter::parseMessage -- msgfmt_parse_message — Interpreta rapidamente a string de entrada
Estilo orientado a objetos
$locale
, string $pattern
, string $message
): array|falseEstilo procedural
Interpreta a string de entrada sem criar explicitamente o objeto formatador. Use esta função quando a operação de formatação é feita apenas uma vez e não precisa de parâmetros ou de manter estados.
locale
A localidade a ser usada para interpretação das partes que dependem dela.
pattern
O modelo com o qual o parâmetro message
será interpretado.
message
A string a ser interpretada, conforme definido em pattern
.
Um array contendo os itens extraídos, ou false
em caso de erro.
Exemplo #1 Exemplo de 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);
?>
Exemplo #2 Exemplo OO
<?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);
?>
O exemplo acima produzirá:
array ( 0 => 4560, 1 => 123, 2 => 37.073, ) array ( 0 => 4560, 1 => 123, 2 => 37.073, )