0

文字列から数字以外の文字を削除する PHP コードを知っている人はいますか。ただし、数字の間にスペースがある場合は、それらが区切られます。

入力例:

$input = '28  -  200 mm';

出力:

$num1 = 28;
$num2 = 200;

ありがとうございました!

4

3 に答える 3

2
<?php
   $str = '28  -  200 mm';
   $pattern = '#(?P<numbers>\d+)#';
   if(preg_match_all($pattern, $str, $matches)){
       foreach ($matches['numbers'] as $number) {
           echo $number;
       }
   }
于 2012-10-04T15:06:27.417 に答える
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) }

于 2012-10-04T15:07:10.980 に答える
0

基本的な正規表現は次のようになります。

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

次のようなものです:

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

結果は$results配列に格納されます。 のマニュアルを参照してくださいpreg_match_all

于 2012-10-04T15:06:14.677 に答える