我试图将字符串中的数字作为单独的整数返回。该字符串具有以下标记:
$string = "20 x 20 cm";
数字20也可以是更大的数字。例如70 x 93厘米或120 x 230厘米,因此并不总是彼此相等。
我读过Preg_Match,但无法理解。所以现在我在这里寻求你的帮助。
提前致谢!
答案 0 :(得分:2)
这应该对你有用
$string = "20 x 20 cm";
$results = array();
preg_match_all('/\d+/', $string, $results);
print_r($results[0]);
答案 1 :(得分:1)
您可以使用
$string = '20 x 20 cm';
$arr = explode(' ', $string);
$arr = array($arr[0], $arr[2]);
print_r($arr);
答案 2 :(得分:0)
我不是正则表达式大师,但我喜欢使用命名子模式:
$string = "20 x 20 cm";
preg_match('/(?P<int1>\d+) x (?P<int2>\d+)/', $string, $matches);
echo $matches['int1'].', '.$matches['int2'];
另一种选择是strtok
:
$int1 = strtok($string, ' x ');
$int2 = strtok(' x ');
echo $int1.', '.$int2;
或使用sscanf
:
list($int1, $int2) = sscanf($string, "%d x %d cm");
echo $int1.', '.$int2;