> 백엔드 개발 > PHP 튜토리얼 > 내 PHP `preg_replace()` 함수에서 '알 수 없는 수정자' 오류가 발생하는 이유는 무엇입니까?

내 PHP `preg_replace()` 함수에서 '알 수 없는 수정자' 오류가 발생하는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-30 10:46:10
원래의
550명이 탐색했습니다.

Why is my PHP `preg_replace()` function throwing an

preg_replace(): 알 수 없는 수정자 - 진단 및 해결

"경고: preg_replace(): 알 수 없는 수정자 [문자 ]", 기본 내용을 이해하는 것이 중요합니다. 원인:

구분 기호 누락 또는 이스케이프 처리되지 않은 구분 기호

PHP에서 정규식에는 경계를 정의하기 위한 구분 기호가 필요합니다. 패턴 내에서 구분 기호가 누락되었거나 이스케이프되지 않은 구분 기호가 이 오류를 유발할 수 있습니다. 예를 들어, 제공된 코드 조각에서:

preg_replace("<div[^>]*><ul[^>]*>", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)) ));
로그인 후 복사

정규식에 구분 기호가 없으므로 엔진은 "[ ]"를 인식할 수 없는 수정자로 해석합니다.

수정:

이 문제를 해결하려면 정규식을 다음과 같은 유효한 구분 기호로 묶으십시오. "/":

preg_replace("/<div[^>]*><ul[^>]*>/", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)) ));
로그인 후 복사

또는 구분 기호가 패턴 내에 나타나면 다음과 같이 백슬래시("")로 이스케이프 처리하세요.

preg_replace("/foo\/bar/", "", $string);
로그인 후 복사

추가 리소스 :

  • [PHP 정규식 구분 기호](https://www.php.net/manual/en/regexp.reference.delimiters.php)
  • [PHP에서 Ereg 표현식을 Preg로 변환하는 방법은 무엇입니까? (구분 기호 누락)](https://stackoverflow.com/questions/2487417)
  • […에서 알 수 없는 수정자 '/'? 그것은 무엇입니까? (preg_quote() 사용 시)](https://stackoverflow.com/questions/6302259)

위 내용은 내 PHP `preg_replace()` 함수에서 '알 수 없는 수정자' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿