0

我正在尝试将字符串中的数字作为单独的整数返回。该字符串具有以下标记:

$string = "20 x 20 cm";

数字 20 也可以是一个更大的数字。例如 70 x 93 厘米或 120 x 230 厘米,因此它们并不总是相等的。

我读过有关 Preg_Match 的文章,但无法弄清楚。所以现在我在这里寻求你的帮助。

提前致谢!

4

3 回答 3

2

这应该适合你

$string = "20 x 20 cm";
$results = array();
preg_match_all('/\d+/', $string, $results);
print_r($results[0]);
于 2013-07-12T20:12:09.613 回答
1

你可以使用

$string = '20 x 20 cm';
$arr = explode(' ', $string);
$arr = array($arr[0], $arr[2]);
print_r($arr);
于 2013-07-12T20:12:08.853 回答
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;
于 2013-07-12T20:09:01.630 回答