라이브러리

[PHP] preg_last_error_msg - 마지막 PCRE 정규식 실행의 오류 메시지를 반환합니다.




preg_last_error_msg 함수란?


`preg_last_error_msg` 함수는 PHP에서 사용하는 정규표현식 함수의 마지막 오류 메시지를 반환하는 함수입니다. 이 함수는 `preg_last_error` 함수의 결과를 문자열로 변환하여 반환합니다.

preg_last_error_msg 함수의 사용법


`preg_last_error_msg` 함수는 다음과 같이 사용할 수 있습니다.

#hostingforum.kr
php

preg_last_error_msg()



예제


#hostingforum.kr
php

// 올바른 정규표현식

$pattern = '/^([a-zA-Z0-9_]{5,10})$/';

$subject = 'hello123';



preg_match($pattern, $subject, $matches);



echo "올바른 정규표현식의 결과: " . preg_last_error_msg() . "
";



// 잘못된 정규표현식

$pattern = '/^([a-zA-Z0-9_]{5,10}/';

$subject = 'hello123';



preg_match($pattern, $subject, $matches);



echo "잘못된 정규표현식의 결과: " . preg_last_error_msg() . "
";



이 예제에서는 올바른 정규표현식과 잘못된 정규표현식을 사용하여 `preg_match` 함수를 호출한 후 `preg_last_error_msg` 함수를 호출하여 마지막 오류 메시지를 출력합니다.

결과


올바른 정규표현식의 결과:

잘못된 정규표현식의 결과: /^([a-zA-Z0-9_]{5,10}/: Unterminated subpattern at position 20

오류 코드


`preg_last_error_msg` 함수는 `preg_last_error` 함수의 결과를 문자열로 변환하여 반환합니다. 따라서 `preg_last_error` 함수의 오류 코드를 참조하여 `preg_last_error_msg` 함수의 결과를 이해할 수 있습니다.

`preg_last_error` 함수의 오류 코드는 다음과 같습니다.

* `PREG_NO_ERROR`: 정규표현식이 성공적으로 컴파일되었습니다.
* `PREG_INTERNAL_RECURSION`: 정규표현식 내부에 재귀가 발생했습니다.
* `PREG_INTERNAL_ERROR`: 정규표현식 컴파일러 내부에 오류가 발생했습니다.
* `PREG_BACKTRACK_LIMIT_ERROR`: 정규표현식 컴파일러가 백트래킹을 할 수 없습니다.
* `PREG_RECURSION_LIMIT_ERROR`: 정규표현식 내부에 재귀가 너무 깊습니다.
* `PREG_BAD_UTF8_ERROR`: UTF-8 문자열이 잘못되었습니다.
* `PREG_BAD_UTF8_OFFSET_ERROR`: UTF-8 문자열의 오프셋이 잘못되었습니다.

결론


`preg_last_error_msg` 함수는 PHP에서 사용하는 정규표현식 함수의 마지막 오류 메시지를 반환하는 함수입니다. 이 함수는 `preg_last_error` 함수의 결과를 문자열로 변환하여 반환합니다. 올바른 정규표현식과 잘못된 정규표현식을 사용하여 `preg_match` 함수를 호출한 후 `preg_last_error_msg` 함수를 호출하여 마지막 오류 메시지를 출력할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 315 페이지

검색

게시물 검색