有谁知道 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;
}
}
您的基本正则表达式如下所示:
#\b(\d+)\b#
^^ word boundary
^^^ one or more digits
所以像:
preg_match_all('#\b(\d+)\b#', $your_string, $results);
结果将存储在$results
数组中,请参阅preg_match_all
.
您将有更好的机会使用正则表达式来解决您的问题。
但这里有一个快速的解决方案:
$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) }