>백엔드 개발 >PHP 튜토리얼 >PHP에서 '경고: preg_replace(): 알 수 없는 수정자' 오류를 수정하는 방법은 무엇입니까?

PHP에서 '경고: preg_replace(): 알 수 없는 수정자' 오류를 수정하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-26 12:02:21941검색

How to Fix the

경고: preg_replace(): 알 수 없는 수정자

문제

"경고: preg_replace(): 알 수 없는 수정자']와 같은 오류 메시지가 나타나는 경우 ' xxx.php의 38번째 줄에 있는 ''은 일반적으로 구분 기호가 누락되었거나 정규 표현식 내의 이스케이프되지 않은 구분 기호.

원인

PHP에서 정규 표현식에는 /, # 또는 ~와 같은 구분 기호 쌍이 필요합니다. 적절한 구분 기호가 없으면 정규식 엔진이 패턴과 수정자를 잘못 해석하여 '알 수 없는 수정자' 오류가 발생할 수 있습니다. 또한 정규식 패턴 내에 구분 기호가 이스케이프되지 않고 나타나면 동일한 문제가 발생할 수 있습니다.

해결 방법

구분 기호 사용:

랩 적절한 구분 기호를 사용하여 정규식 패턴을 지정하세요. 예를 들어, 제공한 코드에서 '~'를 사용할 수 있습니다:

preg_replace("~<div[^>]*><ul[^>]*>", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)));

이스케이프 구분 기호:

또는 구분 기호가 안에 나타나면 이스케이프할 수 있습니다. '' 백슬래시를 사용하는 정규식 패턴. 예:

preg_replace("/foo[^/]+bar/i", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)));

  • 이스케이프가 필요하지 않도록 정규식 패턴에 표시되지 않는 구분 기호를 선택하세요.
  • preg_quote 사용을 고려하세요. () 함수를 사용하면 특수 문자를 자동으로 이스케이프 처리할 수 있습니다. 패턴.

추가 리소스

  • [PHP 정규식 구분 기호](https://www.php.net/manual/en/regexp.reference.delimiters.php)
  • [정규 표현식 구문](https://www.regular-expressions.info/php.html)

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

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