文字列から数字以外の文字を削除する PHP コードを知っている人はいますか。ただし、数字の間にスペースがある場合は、それらが区切られます。
入力例:
$input = '28 - 200 mm';
出力:
$num1 = 28;
$num2 = 200;
ありがとうございました!
文字列から数字以外の文字を削除する PHP コードを知っている人はいますか。ただし、数字の間にスペースがある場合は、それらが区切られます。
入力例:
$input = '28 - 200 mm';
出力:
$num1 = 28;
$num2 = 200;
ありがとうございました!
<?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) }
基本的な正規表現は次のようになります。
#\b(\d+)\b#
^^ word boundary
^^^ one or more digits
次のようなものです:
preg_match_all('#\b(\d+)\b#', $your_string, $results);
結果は$results
配列に格納されます。 のマニュアルを参照してくださいpreg_match_all
。