현재 위치: > 최신 기사 목록> MB_STRISTR를 사용하여 문자열에서 첫 번째 하위 문자열을 찾으십시오.

MB_STRISTR를 사용하여 문자열에서 첫 번째 하위 문자열을 찾으십시오.

gitbox 2025-05-26

PHP에서 문자열을 처리 할 때는 종종 다른 문자열에 서브 문자열이 존재하는지 여부를 찾아야합니다. 일반 문자열 함수 (예 : strstr 또는 strpos )를 사용하여 멀티 바이트 문자 (예 : 중국어, 일본어, 한국 등)를 포함하는 문자열의 경우, 코드 또는 인식 오류가 발생할 수 있습니다. 현재 멀티 바이트 안전 함수 MB_Strist를 사용할 수 있습니다.

1. MB_Strist는 무엇입니까?

MB_STRSTR 는 PHP Multibyte String Extension (MBString)이 제공하는 기능으로 문자열에 처음으로 나타나는 하위 문자열을 찾습니다. Strrist 와 유사하지만 멀티 바이트 인코딩을 지원하고 기본적으로 UTF-8을 사용합니다.

함수 정의는 다음과 같습니다.

 mb_stristr(string $haystack, string $needle, bool $before_needle = false, ?string $encoding = null): string|false
  • $ haystack : 검색 할 원래 문자열;

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

  • $ prever_needle (선택 사항) : true 인 경우 바늘 앞에서 부품을 반환하십시오.

  • $ 인코딩 (선택 사항) : 문자 인코딩, 기본값은 내부 인코딩 (일반적으로 UTF-8)입니다.

  • 반환 값 : 발견 된 경우 나머지 문자열 (또는 접두사 부분)을 반환하고 찾은 경우 false를 반환하십시오.

2. 실제 사례

예 1 : 첫 번째 부분 문자열이 나타난 후 컨텐츠를 찾아 반환합니다.

URL에 특정 키워드가 포함되어 있는지 확인하고 해당 키워드로 시작하는 부분을 얻으려고합니다.

 <?php
$url = "https://gitbox.net/docs/php/mbstring-guide";
$result = mb_stristr($url, "php");

if ($result !== false) {
    echo "기판을 찾았습니다,결과는입니다:$result";
} else {
    echo "서브 스트링이 발견되지 않았습니다";
}
?>

산출:

 기판을 찾았습니다,결과는입니다:php/mbstring-guide

설명 : MB_Strist는 처음으로 나타난 "PHP"를 성공적으로 발견하고 해당 부분에서 시작하여 문자열을 반환했습니다.

예 2 : 하위 문자열이 나타나기 전에 내용을 가져옵니다

때때로 우리는 주요 경로를 얻는 것과 같은 서브 스트링 이전의 부분에 대해 더 관심을 갖습니다.

 <?php
$url = "https://gitbox.net/docs/php/mbstring-guide";
$result = mb_stristr($url, "php", true);

if ($result !== false) {
    echo "키워드 이전의 부분은 다음과 같습니다:$result";
} else {
    echo "서브 스트링이 발견되지 않았습니다";
}
?>

산출:

 키워드 이전의 부분은 다음과 같습니다:https://gitbox.net/docs/

세 번째 매개 변수가 true 인 경우 MB_Strist는 컨텐츠를 바늘 전에 반환합니다.

예 3 : 다중 바이트 문자 처리 (중국어)

우리가 중국어를 포함하는 문장을 다루고 있다고 가정합니다.

 <?php
$text = "환영gitbox.net,이것은 훌륭합니다PHP리소스 라이브러리。";
$result = mb_stristr($text, "php");

if ($result !== false) {
    echo "설립하다:$result";
} else {
    echo "일치하는 콘텐츠가 발견되지 않았습니다";
}
?>

여기서 "PHP"는 사례에 민감한 검색이므로 "PHP"조차도 성공적으로 일치 할 수 있습니다.

3. strpos의 차이점은 무엇입니까?

  • MB_STRSTR 은 사례에 민감하지만 MB_STRPOS 는 사례에 민감합니다.

  • MB_STRSTR는 일치하는 부분 문자열과 그 이후의 부분을 반환하고 MB_STRPOS는 위치를 반환합니다.

  • 가장 중요한 점은 MB_STRIST가 중국어가 달린 코드를 피하기 위해 다중 바이트 문자를 지원한다는 것입니다.

4. 요약

MB_STRSTR 는 멀티 바이트 문자열, 특히 UTF-8 인코딩 환경에서 하위 문자열을 찾는 작업을 처리하는 강력한 도구입니다. 구문은 간단하고 기능적이며 문자열의 주요 부분을 신속하게 찾아 추출하는 데 이상적입니다.

PHP 애플리케이션을 개발할 때 특히 중국 내용, URL 경로 또는 사용자 입력을 처리 할 때 MB_Strist를 사용하는 데 우선 순위를 부여해야합니다.