>백엔드 개발 >PHP 튜토리얼 >`preg_match` 정규 표현식에서 대소문자를 구분하지 않게 하려면 어떻게 해야 합니까?

`preg_match` 정규 표현식에서 대소문자를 구분하지 않게 하려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-29 18:43:15502검색

How Do I Make a `preg_match` Regular Expression Case-Insensitive?

preg_match 대소문자를 구분하지 않도록 설정

질문에 제공된 코드 스니펫에서 대소문자 구분으로 인해 의도한 결과를 얻을 수 없습니다. 이 문제를 수정하려면 정규 표현식에서 i 수정자를 사용하여 대소문자를 구분하지 않도록 할 수 있습니다.

코드를 수정하는 방법은 다음과 같습니다.

preg_match("#(.{100}$keywords.{100})#i", strip_tags($description), $matches);

구분자(이 경우 #) 뒤에 i 수정자를 추가하면 정규식은 다음과 같이 됩니다. 대소문자를 구분하지 않습니다. 즉, 대문자와 소문자를 모두 일치시켜 원래 코드의 대소문자 구분 문제를 해결합니다.

i 수정자는 #뿐만 아니라 모든 구분 기호와 함께 사용할 수 있습니다. / 구분 기호를 사용하는 경우 다음과 같이 i 수정자를 뒤에 추가합니다.

preg_match("/your_regexp_here/i", $s, $matches); // i means case insensitive

i 수정자가 설정되면 안에 있는 문자는 패턴은 대문자와 소문자 모두와 일치합니다. 이를 통해 입력 문자열의 문자에 관계없이 코드가 올바르게 작동할 수 있습니다.

위 내용은 `preg_match` 정규 표현식에서 대소문자를 구분하지 않게 하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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