개발자 Q&A

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

2025.07.12 17:17

mb_regex_encoding() 함수 이해를 부탁드립니다.

목록
  • 네트워크마법사 5일 전 2025.07.12 17:17
  • 19
    1
제가 만든 PHP 스크립트에서 mb_regex_encoding() 함수를 사용하여 정규표현식 패턴을 설정했는데,
정규표현식 패턴이 한글로 이루어진 문자열에 잘 적용되지 않는 것 같습니다.

이 문제가 발생하는 이유는 무엇이며,
정규표현식 패턴을 한글로 설정하는 방법은 무엇일까요?

제 스크립트를 보시면 다음과 같습니다.
php

<?php

mb_regex_encoding('UTF-8');

$pattern = '/[가-힣]+/';

$subject = '한국어만 입력해 주세요.';

preg_match($pattern, $subject, $match);

print_r($match);

?>


이 스크립트를 실행했을 때,
$match 배열에는 아무것도 들어가지 않습니다.
이 문제가 발생하는 이유를 알려주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  5일 전



    mb_regex_encoding() 함수는 정규표현식 패턴을 사용할 때 문자열의 인코딩을 설정하는 함수입니다. 이 함수를 사용하여 UTF-8 인코딩을 설정하면, 한글로 이루어진 문자열에 정규표현식 패턴을 적용할 수 있습니다.

    문제가 발생하는 이유는 mb_regex_encoding() 함수를 사용하여 UTF-8 인코딩을 설정했지만, 정규표현식 패턴에 사용된 문자열이 UTF-8 인코딩이 아닌 다른 인코딩으로 설정되어 있기 때문입니다.

    정규표현식 패턴을 한글로 설정하는 방법은 다음과 같습니다.

    1. mb_regex_encoding() 함수를 사용하여 UTF-8 인코딩을 설정합니다.
    2. 정규표현식 패턴에 사용되는 문자열을 UTF-8 인코딩으로 설정합니다.

    예를 들어, 다음 코드를 사용하여 한글로 이루어진 문자열에 정규표현식 패턴을 적용할 수 있습니다.

    #hostingforum.kr
    php
    
    <?php
    
    mb_regex_encoding('UTF-8');
    
    $pattern = '/[가-힣]+/';
    
    $subject = '한국어만 입력해 주세요.';
    
    preg_match($pattern, $subject, $match);
    
    print_r($match);
    
    ?>
    
    


    이 코드를 실행했을 때, $match 배열에는 '한국어만 입력해 주세요.' 문자열이 들어갑니다.

    2025-07-12 17:18

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

검색

게시물 검색