有誰知道PHP代碼可以去除除數字之外的字符串中的任何字符。但是如果數字之間有空格,它會將它們分開。PHP - 刪除字符和單獨的數字
例輸入:
$input = '28 - 200 mm';
輸出:
$num1 = 28;
$num2 = 200;
謝謝!
有誰知道PHP代碼可以去除除數字之外的字符串中的任何字符。但是如果數字之間有空格,它會將它們分開。PHP - 刪除字符和單獨的數字
例輸入:
$input = '28 - 200 mm';
輸出:
$num1 = 28;
$num2 = 200;
謝謝!
你的基本的正則表達式看起來像:
#\b(\d+)\b#
^^ word boundary
^^^ one or more digits
因此,像:
preg_match_all('#\b(\d+)\b#', $your_string, $results);
,其結果將被存儲在$results
數組中,請參閱手冊上preg_match_all
。
<?php
$str = '28 - 200 mm';
$pattern = '#(?P<numbers>\d+)#';
if(preg_match_all($pattern, $str, $matches)){
foreach ($matches['numbers'] as $number) {
echo $number;
}
}
你會有更好的機會使用正則表達式與您的問題。
但這裏是一個快速的解決方案:
$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) }
Ty。我只是使用$ number [0]和$ number [1]來獲得循環外的結果。 – Lucifix
我唯一的成功分拆字符和數字保存。但不知道如何分開數字。 – Lucifix
你是什麼意思分開的數字? –
我剛剛更新了我的問題。在輸入中,我得到$ input = '28 - 200 mm'的值;我想刪除所有字符(mm)並分開分開一組數字。 Ty。 – Lucifix