
MessageFormatter::parse 함수는 IntlMessageFormatter 클래스에서 사용되는 메시지 포맷팅 함수입니다. 이 함수는 메시지를 포맷팅하기 위해 사용되며, 사용자 정의 포맷팅 옵션을 지정할 수 있습니다.
메시지 템플릿과 메시지 데이터를 지정하는 방법은 다음과 같습니다.
- 메시지 템플릿: 메시지 템플릿은 포맷팅된 메시지를 반환하기 위해 사용됩니다. 템플릿은 문자열로 표현되며, 템플릿 내의 변수는 `{}`로 표현됩니다. 예를 들어, "Hello, {name}!"은 템플릿입니다.
- 메시지 데이터: 메시지 데이터는 템플릿 내의 변수에 대입됩니다. 데이터는 배열로 표현되며, 배열의 키는 템플릿 내의 변수 이름과 일치해야 합니다. 예를 들어, ["name" => "John"]은 데이터입니다.
포맷팅 옵션을 지정하는 방법은 다음과 같습니다.
- IntlMessageFormatter 클래스의 생성자에서 옵션을 지정할 수 있습니다. 예를 들어, new IntlMessageFormatter("en_US", ["locale" => "en_US", "style" => "long"])은 en_US locale과 long style을 사용하는 IntlMessageFormatter 객체를 생성합니다.
- MessageFormatter::parse 함수의 두 번째 매개변수에서 옵션을 지정할 수 있습니다. 예를 들어, MessageFormatter::parse("Hello, {name}!", ["locale" => "en_US", "style" => "long"], ["name" => "John"])은 en_US locale과 long style을 사용하여 "Hello, John!"을 반환합니다.
예제 코드는 다음과 같습니다.
#hostingforum.kr
php
$messageFormatter = new IntlMessageFormatter("en_US", ["locale" => "en_US", "style" => "long"]);
echo $messageFormatter->format("Hello, {name}!", ["name" => "John"]) . "n";
$messageFormatter = new IntlMessageFormatter("en_US", ["locale" => "en_US", "style" => "long"]);
echo MessageFormatter::parse("Hello, {name}!", ["locale" => "en_US", "style" => "long"], ["name" => "John"]) . "n";
위 코드는 en_US locale과 long style을 사용하여 "Hello, John!"을 반환합니다.
2025-07-07 15:28