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