2012-10-04 19 views
0

有誰知道PHP代碼可以去除除數字之外的字符串中的任何字符。但是如果數字之間有空格,它會將它們分開。PHP - 刪除字符和單獨的數字

例輸入:

$input = '28 - 200 mm'; 

輸出:

$num1 = 28; 
$num2 = 200; 

謝謝!

+0

我唯一的成功分拆字符和數字保存。但不知道如何分開數字。 – Lucifix

+0

你是什麼意思分開的數字? –

+0

我剛剛更新了我的問題。在輸入中,我得到$ input = '28 - 200 mm'的值;我想刪除所有字符(mm)並分開分開一組數字。 Ty。 – Lucifix

回答

0

你的基本的正則表達式看起來像:

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

因此,像:

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

,其結果將被存儲在$results數組中,請參閱手冊上preg_match_all

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

你會有更好的機會使用正則表達式與您的問題。

但這裏是一個快速的解決方案:

$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