개발자 Q&A

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

2025.07.09 01:27

mb_ereg 패턴에 변수를 사용할 때 문제가 발생합니다.

목록
  • CSS마법사 12일 전 2025.07.09 01:27
  • 62
    1
제가 mb_ereg 함수를 사용하여 특정 패턴을 찾으려고 합니다.
패턴에 변수를 사용할 때는 어떻게 해야 하나요?
예를 들어, "Hello, [name]" 형식의 문자열에서 name을 찾으려고 합니다.
변수를 사용하여 패턴을 정의하는 방법은 무엇입니까?

제가 사용한 코드는 다음과 같습니다.
php

$name = 'World';

$text = 'Hello, [name]!';

$pattern = '/Hello, [' . $name . ']/';

if (mb_ereg($pattern, $text, $matches)) {

    echo '일치';

} else {

    echo '일치하지 않음';

}


위 코드는 일치하지 않음으로 출력됩니다.
변수를 사용하여 패턴을 정의하는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  12일 전



    mb_ereg 패턴에 변수를 사용할 때는 백틱 문자 (`)를 사용하여 패턴을 정의하고, 변수를 사용하기 위해 preg_quote 함수를 사용하여 변수를 패턴으로 변환해야 합니다.

    예를 들어, "Hello, [name]" 형식의 문자열에서 name을 찾으려면 다음과 같이 코드를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $name = 'World';
    
    $text = 'Hello, [name]!';
    
    $pattern = '/Hello, (' . preg_quote($name, '/') . ')/';
    
    if (mb_ereg($pattern, $text, $matches)) {
    
        echo '일치';
    
    } else {
    
        echo '일치하지 않음';
    
    }
    
    


    위 코드는 일치합니다.

    또는, preg_match 함수를 사용하여 다음과 같이 코드를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $name = 'World';
    
    $text = 'Hello, [name]!';
    
    $pattern = '/Hello, (' . preg_quote($name, '/') . ')/';
    
    if (preg_match($pattern, $text, $matches)) {
    
        echo '일치';
    
    } else {
    
        echo '일치하지 않음';
    
    }
    
    


    위 코드는 일치합니다.

    preg_match 함수는 mb_ereg 함수보다 더 효율적이고 추천합니다.

    2025-07-09 01:28

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

검색

게시물 검색