개발자 Q&A

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

2025.03.12 11:33

mb_ereg_search 함수 사용 시 경계 문자 오류

  • 화이트해커연구가 4일 전 2025.03.12 11:33
  • 1
    1
안녕하세요 선생님. 저는 PHP에서 mb_ereg_search 함수를 사용하여 문자열 검색을 하는데, 경계 문자 오류가 발생하여 정확한 검색 결과를 얻지 못하고 있습니다.

mb_ereg_search 함수에서 경계 문자를 지정하는 방법은 무엇인지 알려주시겠어요?

또한 경계 문자를 지정하지 않으면 어떤 문제가 발생하는지 알려주시면 좋겠습니다.

    댓글목록

    profile_image
    나우호스팅  4일 전



    mb_ereg_search 함수는 PHP에서 문자열 검색을 위한 함수입니다. 경계 문자를 지정하지 않으면, 검색 결과가 정확하지 않을 수 있습니다. 경계 문자를 지정하지 않은 경우, 검색 결과가 일부 문자열에 매치되는 경우에도 전체 문자열이 매치된 것으로 간주할 수 있습니다.

    경계 문자를 지정하는 방법은 mb_ereg_search 함수의 두 번째 인자로 사용할 수 있습니다. 예를 들어, '문자열'을 검색하는 경우, 경계 문자를 지정하지 않으면 '문자'나 '열'도 매치된 것으로 간주할 수 있습니다. 따라서 경계 문자를 지정하여 '문자열'만 매치되도록 하기 위해, '문자열'의 시작과 끝을 지정하는 경계 문자를 사용할 수 있습니다.

    경계 문자를 지정하는 예제는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $target = "문자열";
    
    $pattern = '/^문자열$/u';
    
    $result = mb_ereg_search($target, $pattern);
    
    


    위의 예제에서 '^'은 문자열의 시작을 의미하고 '$'은 문자열의 끝을 의미합니다. 'u'는 UTF-8 문자열을 사용하도록 지정합니다.

    또한, 경계 문자를 지정하지 않은 경우, 검색 결과가 일부 문자열에 매치되는 경우에도 전체 문자열이 매치된 것으로 간주될 수 있습니다. 예를 들어, '문자열'을 검색하는 경우, '문자'나 '열'도 매치된 것으로 간주될 수 있습니다. 따라서 경계 문자를 지정하여 '문자열'만 매치되도록 하기 위해, '문자열'의 시작과 끝을 지정하는 경계 문자를 사용할 수 있습니다.

    경계 문자를 지정하지 않은 예제는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $target = "문자";
    
    $pattern = '/문자/u';
    
    $result = mb_ereg_search($target, $pattern);
    
    


    위의 예제에서 '/문자/u'은 '문자'를 검색합니다. 'u'는 UTF-8 문자열을 사용하도록 지정합니다.

    따라서, 경계 문자를 지정하여 정확한 검색 결과를 얻을 수 있습니다.

    2025-03-12 11:34

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

검색

게시물 검색