我使用 preg_match
php 函数只获取一个空格破折号和另一个空格 (-) 之前的数字。
我所有的主题都有一个编号,然后是一个简短的描述;
3546425 - Small Description
我只需要数字;
3546425
我试过这个表达式,但它只返回一个值; 1
/([0-9])(.+?(?= - ))/
这是我的php代码;
$pattern = '/([0-9])(.+?(?= - ))/';
$subject = '3546425 - Small description';
echo preg_match($pattern, $subject);
我可以使用 php 的 subtr 函数,但是第一个空格之前的数字并不总是相同的长度,它也可以更短或更长,然后就不起作用了。
谁能解释一下哪里出了问题?因为我测试过here它会像我想要的那样突出显示整个数字。
最佳答案
如果你想让它变得非常简单并且你的字符串总是以数字开头,你可以将它强制转换:
$string = "3546425 - Small Description";
$number = intval($string);
关于php - 仅返回空格前的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35844746/