PHP에서 문자열에서 숫자를 추출하는 방법

Minahil Noor 2023년1월30일
  1. preg_match_all()함수를 사용하여 PHP의 문자열에서 숫자 추출
  2. filter_var()함수를 사용하여 PHP의 문자열에서 숫자 추출
  3. preg_replace()함수를 사용하여 PHP의 문자열에서 숫자 추출
PHP에서 문자열에서 숫자를 추출하는 방법

이 기사에서는 PHP의 문자열에서 숫자를 추출하는 방법을 소개합니다.

  • preg_match_all()함수 사용
  • filter_variable()함수 사용
  • preg_replace()함수 사용

preg_match_all()함수를 사용하여 PHP의 문자열에서 숫자 추출

내장 함수 preg_match_all()를 사용하여문자열에서 숫자를 추출 할 수 있습니다. 이 함수는 ‘문자열’에서 지정된 패턴을 전역 적으로 검색합니다. 이 함수를 사용하는 올바른 구문은 다음과 같습니다.

preg_match_all($pattern, $inputString, $matches, $flag, $offset);

내장 함수preg_match_all()에는 5 개의 매개 변수가 있습니다. 매개 변수의 세부 사항은 다음과 같습니다

매개 변수 기술
$pattern 필수 주어진string에서 확인하려는 패턴입니다.
$inputString 필수 주어진 패턴을 검색하려는 ‘문자열’입니다.
$matches 선택 과목 이 매개 변수가 제공되면 함수는 일치 프로세스의 결과를 여기에 저장합니다.
$flags 선택 과목 이 매개 변수에는 PREG_OFFSET_CAPTUREPREG_UNMATCHED_AS_NULL의 두 가지 옵션이 있습니다. 여기에서 설명을 읽을 수 있습니다.
$offset 선택 과목 매칭 프로세스를 시작할 위치의 기능을 알려줍니다. 일반적으로 검색은 처음부터 시작됩니다.

이 함수는Boolean 변수를 반환합니다. 주어진 패턴이 존재하면 참을 반환합니다.

아래 프로그램은 주어진string에서 숫자를 추출하기 위해preg_match_all()함수를 사용하는 방법을 보여줍니다.

<?php 
$string = 'Sarah has 4 dolls and 6 bunnies.';
preg_match_all('!\d+!', $string, $matches);
print_r($matches); 
?> 

'!\d+!'패턴을 사용하여string에서 숫자를 추출했습니다.

출력:

Array
(
    [0] => Array
        (
            [0] => 4
            [1] => 6
        )

)

filter_var()함수를 사용하여 PHP의 문자열에서 숫자 추출

filter_var() 함수를 사용하여문자열에서 숫자를 추출 할 수도 있습니다. 이 함수를 사용하는 올바른 구문은 다음과 같습니다.

filter_var($variableName, $filterName, $options)

filter_var()함수는 3 개의 매개 변수를받습니다. 매개 변수의 세부 사항은 다음과 같습니다

매개 변수 기술
$variableName 필수 필터링 할 변수입니다.
$filterName 필수 변수에 적용될 필터의 이름입니다. 기본적으로 FILTER_DEFAULT입니다.
$options 필수 이 매개 변수는 사용할 옵션에 대해 알려줍니다.

FILTER_SANITIZE_NUMBER_INT 필터를 사용했습니다. ‘문자열’에서 숫자를 추출하는 프로그램은 다음과 같습니다.

<?php 
$string = 'Sarah has 4 dolls and 6 bunnies.';
$int = (int) filter_var($string, FILTER_SANITIZE_NUMBER_INT);  
echo("The extracted numbers are: $int \n"); 
?> 

출력:

The extracted numbers are: 46 

preg_replace()함수를 사용하여 PHP의 문자열에서 숫자 추출

PHP에서는 preg_replace() 함수를 사용하여문자열에서 숫자를 추출 할 수도 있습니다. 이 함수를 사용하는 올바른 구문은 다음과 같습니다.

preg_replace($regexPattern, $replacementVar, $original, $limit, $count)

preg_replace()함수는 5 개의 매개 변수를받습니다. 매개 변수의 세부 사항은 다음과 같습니다

매개 변수 기술
$regexPattern 필수 원래string 또는array에서 검색 할 패턴입니다.
$replacementVar 필수 검색된 값의 대체물로 사용하는 ‘문자열’또는 ‘배열’입니다.
$original 필수 그것은 우리가 값을 찾고 그것을 대체하고자하는string 또는array입니다.
$limit 선택 과목 이 매개 변수는 교체 횟수를 제한합니다.
$count 선택 과목 이 매개 변수는 원래 ‘문자열’또는 ‘배열’에서 이루어진 총 대체 횟수를 알려줍니다.

/[^0-9]/패턴을 사용하여문자열에서 숫자를 찾습니다. ‘문자열’에서 숫자를 추출하는 프로그램은 다음과 같습니다.

<?php 
$string = 'Sarah has 4 dolls and 6 bunnies.';
$outputString = preg_replace('/[^0-9]/', '', $string);  
echo("The extracted numbers are: $outputString \n"); 
?> 

출력:

The extracted numbers are: 46 

관련 문장 - PHP String