개발자 Q&A

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

2025.03.04 06:09

preg_last_error() 함수 이해를 도와주세요

  • 클라우드사제 12일 전 2025.03.04 06:09
  • 8
    1
저는 PHP의 정규 표현식 관련 함수인 preg_last_error() 함수를 공부 중인데요,
이 함수는 마지막으로 발생한 정규 표현식 오류를 반환하는 함수입니다.
그런데 preg_last_error() 함수의 반환 값은 숫자로 오류 코드를 반환하는데요,
이 오류 코드는 어떤 숫자를 의미하는지 정확하게 모르겠습니다.
정규 표현식 오류 코드를 정확하게 이해하고 싶은데요,
해당 오류 코드에 대한 설명이나 예시를 알려주시면 정말 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  12일 전



    PHP의 preg_last_error() 함수는 정규 표현식 오류를 반환하는 함수입니다.

    이 함수는 0부터 7까지의 숫자를 반환하며, 각 숫자는 다음과 같은 오류를 의미합니다.

    - PREG_NO_ERROR : 정규 표현식 오류가 발생하지 않았습니다.
    - PREG_INTERNAL_ERROR : 내부 오류가 발생했습니다.
    - PREG_BACKTRACK_LIMIT_ERROR : 백트랙 한도 초과 오류가 발생했습니다.
    - PREG_RECURSION_LIMIT_ERROR : 재귀 한도 초과 오류가 발생했습니다.
    - PREG_BAD_UTF8_ERROR : 잘못된 UTF-8 문자열 오류가 발생했습니다.
    - PREG_ERROR : 일반 오류가 발생했습니다.
    - PREG_UNEXPECTED_INTERNAL_ERROR : 내부 오류가 발생했습니다.

    예를 들어, 다음 코드는 preg_last_error() 함수를 사용하여 오류를 확인하는 방법을 보여줍니다.

    #hostingforum.kr
    php
    
    $pattern = '/^abc$/';
    
    preg_match($pattern, 'abc');
    
    
    
    $lastError = preg_last_error();
    
    
    
    if ($lastError == PREG_NO_ERROR) {
    
        echo "정규 표현식 오류가 발생하지 않았습니다.";
    
    } elseif ($lastError == PREG_INTERNAL_ERROR) {
    
        echo "내부 오류가 발생했습니다.";
    
    } else {
    
        echo "정규 표현식 오류가 발생했습니다.";
    
    }
    
    


    이 코드는 preg_match() 함수를 사용하여 정규 표현식을 검사한 후, preg_last_error() 함수를 사용하여 마지막으로 발생한 오류를 확인합니다.

    2025-03-04 06:10

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

검색

게시물 검색