📅  最后修改于: 2023-12-03 15:03:41.578000             🧑  作者: Mango
在 PHP 中,我们经常需要从文本中提取数字,但是文本中可能包含各种不必要的字符,例如空格、逗号、括号等等。在这种情况下,我们需要一个方法只提取数字。
以下是一种使用正则表达式的方法,可以轻松地提取数字。
$text = "I have 2 apples, 3 oranges and 1 grapefruit.";
preg_match_all('/\d+/', $text, $matches);
$numbers = $matches[0];
print_r($numbers);
在上面的代码中,我们首先定义了一个包含数字和其他字符的文本,然后使用 preg_match_all
函数并在正则表达式中定义 \d+
,该表达式匹配一个或多个数字。preg_match_all
函数返回一个数组,其中包含所有匹配表达式的结果。我们只需要访问该数组中的第一个元素 $matches[0]
,即可获取所有匹配的数字。
在上面的代码中,执行后输出为:
Array
(
[0] => 2
[1] => 3
[2] => 1
)
已经学会了如何使用正则表达式在 PHP 中只获取数字。请注意,该方法并不考虑数字的小数部分或负号。如果您想获取小数或负数,则需要修改正则表达式。