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

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

Barbara Streisand
Barbara Streisand원래의
2024-12-30 10:46:10558검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.