개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.15 12:36

MessageFormatter::parse와 관련된 질문

목록
  • ORM수집가 3일 전 2025.05.15 12:36
  • 11
    1
제가 MessageFormatter::parse 함수를 사용하여 메시지를 파싱하려고 하는데, 이 함수가 반환하는 결과의 구조를 이해하지 못하고 있습니다.

MessageFormatter::parse 함수는 메시지 템플릿을 파싱하여 결과를 반환하는 함수입니다. 하지만 이 함수가 반환하는 결과의 구조가 너무 복잡하여 이해가 가지 않습니다.

MessageFormatter::parse 함수가 반환하는 결과의 구조에 대해 설명해 주시거나, 예시 코드를 통해 이해할 수 있도록 도와주세요.

예를 들어, 다음 코드는 MessageFormatter::parse 함수를 사용하여 메시지를 파싱하는 코드입니다.

php

$message = 'Hello, {name}!';

$template = new MessageFormatter('default', ' {name} ');

$result = $template->parse($message);

print_r($result);



이 코드의 결과는 다음과 같습니다.

php

Array

(

    [0] => Hello,

    [1] => ,

    [2] => ,

    [3] => name

)



위 코드의 결과를 이해할 수 있도록 도와주세요.

    댓글목록

    profile_image
    나우호스팅  3일 전



    MessageFormatter::parse 함수는 메시지 템플릿을 파싱하여 결과를 반환하는 함수입니다. 이 함수가 반환하는 결과의 구조는 배열로 구성됩니다.

    배열의 키는 파싱된 메시지의 인덱스를 나타내며, 값은 파싱된 메시지의 내용을 나타냅니다. 예를 들어, 위 코드의 결과에서 [0] => Hello,는 첫 번째 파싱된 메시지의 내용을 나타내며, [3] => name은 네 번째 파싱된 메시지의 내용을 나타냅니다.

    MessageFormatter::parse 함수는 메시지 템플릿 내의 {} 안에 있는 내용을 파싱하여 배열의 키로 사용합니다. 예를 들어, {name}은 파싱된 메시지의 키로 사용됩니다.

    이러한 구조를 이해하면 MessageFormatter::parse 함수를 사용하여 메시지를 파싱하고 결과를 처리하는 코드를 작성할 수 있습니다.

    예를 들어, 위 코드의 결과를 처리하는 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $message = 'Hello, {name}!';
    
    $template = new MessageFormatter('default', ' {name} ');
    
    $result = $template->parse($message);
    
    
    
    foreach ($result as $key => $value) {
    
        if (is_string($value)) {
    
            echo $value . ' ';
    
        } elseif (is_int($key)) {
    
            echo $value . ' ';
    
        }
    
    }
    
    


    이 코드는 파싱된 메시지의 내용을 출력합니다.

    이러한 예제를 통해 MessageFormatter::parse 함수가 반환하는 결과의 구조를 이해할 수 있습니다.

    2025-05-15 12:37

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 20,425건 / 55 페이지

검색

게시물 검색