我希望使用类似preg_match
的函数,但该函数返回正则表达式匹配的内容,而不是真值或假值
$warehouse = preg_match( '/^[0-9]+/', $warehouse );
这将返回true或false,但是我想要一个等效的函数,它将返回正则表达式匹配项的内容。
因此,对于$warehouse = 10+ at supplier
,
那么function( '/^[0-9]+/', $warehouse );
将返回10
。
答案 0 :(得分:2)
如果您阅读manual,则会看到preg_match
可以采用第三个参数$matches
,匹配的字符串将放入其中。正则表达式中没有组,整个匹配的字符串将位于$matches[0]
中。例如:
$warehouse = '354-Sydney';
if (preg_match('/^[0-9]+/', $warehouse, $matches)) {
echo $matches[0];
}
输出:
354