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

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

Barbara Streisand
풀어 주다: 2024-12-19 17:59:19
원래의
454명이 탐색했습니다.

Why am I getting the

오류: "preg_replace(): 알 수 없는 수정자 '"

개요

"preg_replace(): 알 수 없는 수정자 오류 38행의 xxx.php에 있는 '[]'는 preg_replace() 함수에 사용된 정규식에 문제가 있음을 나타냅니다. 이 글에서는 이 오류의 원인을 자세히 알아보고 이를 해결하는 데 필요한 단계를 안내합니다.

정규식 오류 이해

PHP에서는 일반 표현식은 한 쌍의 구분 기호로 묶어야 합니다. 구분 기호에는 /, #, ~ 등의 문자가 포함될 수 있습니다. 이 경우 제공된 정규식은 다음을 생략합니다. 구분 기호:

"1>1> ;"

정규식 엔진은 이를 패턴으로 해석합니다. 수정자 없이. 그러나 문자 ]가 닫는 구분 기호 > 뒤에 나타나 "알 수 없는 수정자 '[]'" 오류가 발생합니다.

오류 수정: 구분 기호 사용

이 문제를 해결하려면 정규 표현식을 적절한 구분 기호로 올바르게 묶으세요. 예:

~1>1 >~

이제 패턴이 다음과 같기 때문에 오류가 제거됩니다. 올바르게 묶었습니다.

대체 해결 방법: 구분 기호 이스케이프

정규식 패턴에 구분 기호 문자가 실수로 나타나는 경우 백슬래시() 문자를 사용하여 이스케이프할 수 있습니다. it:

/foo2 bar/i

여기서 / 문자 앞에 백슬래시가 있으면 구분 기호로 해석되지 않습니다.

구분자 추가 팁 사용법

  • 이스케이프가 필요하지 않도록 패턴 내에 표시되지 않는 구분 기호를 선택하세요.
  • 대괄호 스타일 구분 기호(예: )를 고려하세요. 필요 없이 패턴 내에서 구분 기호를 사용할 수 있습니다.

결론

정규식 패턴 내에서 적절한 구분 기호를 사용하거나 구분 기호 문자의 인스턴스를 이스케이프하여 "알 수 없는 수정자"를 제거할 수 있습니다. " 오류를 방지하고 정규식 기반 기능의 효율성을 높입니다.


  1. >
  2. /

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

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