2012-10-04 2 views
0

숫자 이외의 문자열에서 문자를 제거하는 PHP 코드를 아는 사람이 있습니까? 그러나 숫자 사이에 공백이 있으면 구분할 수 있습니다.PHP - 문자 제거 및 숫자 분리

예 입력 :

$input = '28 - 200 mm'; 

출력 :

$num1 = 28; 
$num2 = 200; 

감사합니다! , preg_match_all에 설명서를 참조

preg_match_all('#\b(\d+)\b#', $your_string, $results); 

그리고 결과보기 $results 배열에 저장된다 : 그래서 같은 것이

#\b(\d+)\b# 
     ^^ word boundary 
    ^^^ one or more digits 

: 같은

+0

I에만 성공 스트라이핑 문자와 숫자를 유지하는 결과 : 여기

그러나 해결책 빠르다. 그러나 숫자를 구분하는 방법을 모르십시오. – Lucifix

+0

별도의 번호로 무엇을 의미합니까? –

+0

방금 ​​내 질문을 업데이트했습니다. 입력에서 나는 그 값을 얻는다. $ input = '28 - 200 mm '; 나는 모든 문자 (mm)를 제거하고 숫자 그룹을 분리하고 싶습니다. – Lucifix

답변

0

귀하의 기본 정규식이 보일 것이다.

2
<?php 
    $str = '28 - 200 mm'; 
    $pattern = '#(?P<numbers>\d+)#'; 
    if(preg_match_all($pattern, $str, $matches)){ 
     foreach ($matches['numbers'] as $number) { 
      echo $number; 
     } 
    } 
0

문제가있는 Regex를 사용하는 것이 더 좋을 것입니다.

$string = "28 - 100 mm"; 
$arr = explode(" ",$string); 
$numbers = array(); 
foreach($arr as $value) 
{ 
    if(intval($value)) 
     $numbers[] = intval($value); 
} 

array(2) { [0]=> int(28) [1]=> int(100) }

+0

Ty. 루프 밖에서 결과를 얻으려면 $ number [0]과 $ number [1]을 사용했습니다. – Lucifix