PHP - 删除字符和单独的数字

时间:2012-10-04 14:58:59

标签: php

有没有人知道除了数字之外会从字符串中删除任何字符的PHP代码。但如果数字之间存在空格,则会将它们分开。

示例输入:

$input = '28  -  200 mm';

输出:

$num1 = 28;
$num2 = 200;

谢谢!

3 个答案:

答案 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;
       }
   }

答案 1 :(得分:0)

你的基本正则表达式如下:

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

类似于:

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

结果将存储在$results数组中,请参阅preg_match_all上的手册。

答案 2 :(得分: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) }