현재 위치: > 최신 기사 목록> 문자열에 하위 문자열이 있는지 감지하기 위해 mb_strist를 사용하는 방법은 무엇입니까? 자세한 튜토리얼

문자열에 하위 문자열이 있는지 감지하기 위해 mb_strist를 사용하는 방법은 무엇입니까? 자세한 튜토리얼

M66 2025-06-26

문자열에 하위 문자열이 있는지 감지하기 위해 mb_strist를 사용하는 방법은 무엇입니까? 자세한 튜토리얼

PHP에서 문자열 조작은 일반적인 작업입니다. 사용자 입력 처리, 파일 컨텐츠 처리 또는 네트워크 요청 분석에 관계없이 문자열을 찾거나 조작해야합니다. UTF-8과 같은 다중 바이트 인코딩 (예 : UTF-8) 환경에서 표준 문자열 기능은 특정 특수 문자를 올바르게 처리하지 못할 수 있으며 현재 MB_Strist는 매우 실용적인 도구가됩니다.

mb_strist 는 무엇입니까?

MB_STRSTRSTRSTRSTRSTR 는 PHP에서 MPSTRING (Multi-Byte String Extension)에서 제공하는 기능입니다. 이 기능은 PHP의 Strist 와 유사하며 다른 하위 문자열이 문자열에 존재하는지 여부를 찾는 데 사용되지만 UTF-8 또는 다른 비 ASCII 인코딩과 같은 멀티 파이트 문자 세트를 처리하는 데 특별히 사용됩니다.

  • 기능 : 대상 문자열에 사례를 무시하고 지정된 서브 스트링을 포함하는지 여부를 찾으십시오.

  • 반환 값 : 하위 문자열이 존재하면 문자열의 끝까지 서브 스트링의 첫 번째 발생에서 부분을 반환합니다. 서브 스트링이 존재하지 않으면 false를 반환합니다.

mb_stristr를 사용하는 방법?

MB_Strist 기능의 기본 구문은 다음과 같습니다.

 <span><span><span class="hljs-title function_ invoke__">mb_stristr</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-variable">$before_needle</span></span><span> = </span><span><span class="hljs-literal">false</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ haystack : 대상 문자열은 당신이 찾고 싶은 큰 문자열입니다.

  • $ 바늘 : 찾을 수있는 서브 스트링.

  • $ prever_needle : 옵션 매개 변수는 true 로 설정된 경우 하위 문자열이 처음 나타나기 전에 부품을 반환합니다. 기본값은 False 이며, 하위 문자열의 첫 번째 발생에서 문자열의 끝까지 나타납니다.

  • $ 인코딩 : 옵션 매개 변수, 문자 인코딩을 지정합니다. 기본적으로 MB_Strist는 내부 문자 인코딩 설정을 사용합니다.

예 : 간단한 사용

문자열이 있고 특정 부분 문자열이 포함되어 있는지 확인해야한다고 가정하십시오.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"환영PHP프로그래밍의 세계!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"PHP"</span></span><span>;

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_stristr</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"기판을 찾았습니다!나오십시오:"</span></span><span> . </span><span><span class="hljs-variable">$result</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"서브 스트링이 발견되지 않았습니다。"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

위의 코드에서는 MB_STRSTR을 사용하여 하위 문자 $ 니들 (즉, "PHP")이 String $ Haystack 에 포함되어 있는지 확인합니다. 찾은 경우, 문자열의 끝이 반환 될 때까지 "PHP"에서 시작하는 부분. 찾을 수없는 경우 거짓이 반환됩니다.

출력은 다음과 같습니다.

 <span><span>기판을 찾았습니다!나오십시오:PHP프로그래밍의 세계!
</span></span>

사건을 무시하십시오

strrist 와 마찬가지로 MB_Strist 는 또한 사례에 민감하지 않으므로 문자의 경우를 무시합니다. 따라서 $ 바늘 이 소문자 "PHP"또는 대문자 "PHP"인 경우에도 해당 하위 문자를 찾을 수 있습니다.

예를 들어, 다음 코드는 하위 문자를 찾을 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"환영php프로그래밍의 세계!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"PHP"</span></span><span>;

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_stristr</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"기판을 찾았습니다!나오십시오:"</span></span><span> . </span><span><span class="hljs-variable">$result</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"서브 스트링이 발견되지 않았습니다。"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

mb_strists를 사용하여 멀티 바이트 문자를 찾으십시오

UTF-8 문자열을 다룰 때 Standard Strist는 멀티 바이트 문자를 올바르게 처리하지 못할 수 있으며 MB_Strist는 이 문제를 피할 수 있습니다. 예를 들어, 중국어를 처리 할 때 MB_Strist는 문자 검색을 올바르게 수행 할 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"이것은 중국 테스트 문자열입니다"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"중국인"</span></span><span>;

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_stristr</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"기판을 찾았습니다!나오십시오:"</span></span><span> . </span><span><span class="hljs-variable">$result</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"서브 스트링이 발견되지 않았습니다。"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

출력은 다음과 같습니다.

 <span><span>기판을 찾았습니다!나오십시오:중국인测试字符串
</span></span>

요약

MB_STRSTR 는 강력한 멀티 바이트 문자열 조회 기능으로, 특히 UTF-8 또는 기타 비 ASCII 문자 세트 인 스트링을 처리하는 데 적합합니다. Strrist 함수와 매우 유사합니다. 주요 차이점은 문자 세트 비 호환으로 인한 문제를 피하면서 멀티 바이트 문자를 처리 할 수 ​​있다는 것입니다.

MB_STRSTR을 올바르게 사용하면 문자열에 지정된 하위 문자열이 포함되어 있고 문자 케이스 또는 문자 인코딩의 영향을받지 않는지 쉽게 감지 할 수 있습니다. 이 자습서를 통해 문자열 검색에 PHP에서 MB_Strist를 사용하는 방법을 더 잘 이해할 수 있기를 바랍니다.