개발자 Q&A

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

2025.07.30 08:24

preg_last_error_msg 사용 방법에 대한 궁금증

목록
  • 보안전문가 1일 전 2025.07.30 08:24
  • 4
    1
제가 최근 PHP에서 정규표현식 관련 오류를 처리하는 방법에 대해 공부하고 있습니다. preg_last_error_msg 함수를 사용하여 오류 메시지를 얻는 방법을 찾고 있지만, 이 함수를 사용할 때 제대로 오류 메시지를 얻을 수 있는지 궁금합니다. 이 함수의 사용 방법에 대해 설명해주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    preg_last_error_msg 함수는 PHP에서 정규표현식 관련 오류를 처리할 때 사용할 수 있는 함수입니다. 이 함수는 이전에 발생한 마지막 정규표현식 오류의 메시지를 반환합니다.

    이 함수를 사용하는 방법은 다음과 같습니다.

    1. preg_last_error_msg 함수를 호출하여 오류 메시지를 얻습니다.
    2. 오류 메시지를 확인하여 오류를 해결합니다.

    예를 들어, 다음과 같이 정규표현식 오류를 발생시키는 코드를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $pattern = '/^a/';
    
    $subject = 'b';
    
    
    
    if (!preg_match($pattern, $subject)) {
    
        echo preg_last_error_msg();
    
    }
    
    


    이 코드를 실행하면 "No ending delimiter '}' found"이라는 오류 메시지가 출력됩니다. 이 오류 메시지는 preg_last_error_msg 함수가 반환한 오류 메시지입니다.

    preg_last_error_msg 함수는 이전에 발생한 마지막 정규표현식 오류의 메시지를 반환하므로, 이 함수를 사용하기 전에 이전에 발생한 오류를 해결해야 합니다. 또한, 이 함수는 오류 메시지를 반환하기만 하므로, 오류를 해결하는 코드를 추가해야 합니다.

    오류 메시지를 확인하여 오류를 해결하는 방법은 다음과 같습니다.

    1. 오류 메시지를 확인하여 오류의 원인을 파악합니다.
    2. 오류의 원인을 해결합니다.

    예를 들어, 다음과 같이 오류 메시지를 확인하여 오류를 해결하는 코드를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $pattern = '/^a/';
    
    $subject = 'b';
    
    
    
    if (!preg_match($pattern, $subject)) {
    
        $error = preg_last_error_msg();
    
        if ($error == 'No ending delimiter "}" found') {
    
            // 오류의 원인: 정규표현식이 잘못된 경우
    
            // 오류를 해결: 정규표현식을 수정합니다.
    
            $pattern = '/^a/';
    
            if (preg_match($pattern, $subject)) {
    
                echo '정규표현식 오류가 해결되었습니다.';
    
            } else {
    
                echo '정규표현식 오류가 해결되지 않았습니다.';
    
            }
    
        } else {
    
            echo '오류 메시지: ' . $error;
    
        }
    
    }
    
    


    이 코드를 실행하면 오류 메시지를 확인하여 오류를 해결하는 코드가 실행됩니다. 오류 메시지를 확인하여 오류를 해결하는 코드를 추가하면, 오류를 해결할 수 있습니다.

    2025-07-30 08:25

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

검색

게시물 검색