개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.30 19:02

mb_stristr 함수에 대한 질문

목록
  • 클린아키텍처광 17시간 전 2025.06.30 19:02 새글
  • 4
    1
제가 현재 PHP에서 mb_stristr 함수를 사용하여 특정 문자열을 찾으려고하는데,

문자열이 포함된 경우 true를 반환하고, 포함되지 않은 경우 false를 반환하는 것처럼 보이지만,

다음과 같은 코드가 실행되었을 때, false를 반환하는 것을 확인했습니다.

php

echo mb_stristr('Hello, World!', 'World!') ? 'true' : 'false'; // false



위 코드에서 'World!'을 찾는 것이 아니라, 'World'만 찾는 것이 원하는 기능입니다.

php

echo mb_stristr('Hello, World!', 'World') ? 'true' : 'false'; // true



이러한 경우, mb_stristr 함수의 옵션을 사용하여 'World!'을 찾는 기능을 구현할 수 있을까요?

또한, mb_stristr 함수를 사용하여 찾은 문자열의 위치를 얻을 수 있는 방법이 있을까요?

제가 이해한 것과 다르게 동작하는 이유를 알고 싶습니다.

    댓글목록

    profile_image
    나우호스팅  16시간 전



    mb_stristr 함수는 부분 문자열을 찾을 때, 부분 문자열의 시작과 끝을 포함하여 찾습니다. 따라서, 'World!'을 찾으려면 'World!'을 정확하게 입력해야 합니다.

    만약 'World!'을 찾으려면, mb_stristr 함수의 옵션인 'partial'을 사용하여 'World!'을 찾을 수 있습니다.

    #hostingforum.kr
    php
    
    echo mb_stristr('Hello, World!', 'World!', true) ? 'true' : 'false'; // true
    
    


    위 코드에서 'partial' 옵션을 true로 설정하여 'World!'을 찾을 수 있습니다.

    문자열의 위치를 얻으려면, mb_stristr 함수의 결과를 사용하여 substr 함수를 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $pos = mb_stristr('Hello, World!', 'World!');
    
    echo substr($pos, 0, mb_strlen('World!')); // World!
    
    


    위 코드에서 mb_stristr 함수의 결과를 사용하여 substr 함수를 사용하여 'World!'의 위치를 얻을 수 있습니다.

    제가 이해한 것과 다르게 동작하는 이유는 mb_stristr 함수가 부분 문자열을 찾을 때, 부분 문자열의 시작과 끝을 포함하여 찾기 때문입니다.

    2025-06-30 19:03

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 32,311건 / 8 페이지

검색

게시물 검색