我想匹配/
(我相信您使用[^/]+$
)的最后一个实例并复制接下来的四个或更少数字的内容,直到我得到一个 dash -
。
我相信返回这个数字的“正确”方法是通过 preg_split,但我不确定。我知道的唯一其他方法是展开/
、数组反转、展开-
、分配。我敢肯定还有更优雅的方式吗?
例如
example.com/12-something // get 12
example.com/996-something // get 996
example.com/12345-no-deal // return nothing
不幸的是,我不像你们中的一些人那样是正则表达式大师。
这是做同样事情的一种丑陋方式。
$strip = array_reverse(explode('/', $page));
$strip = $strip[0];
$strip = explode('-', $strip);
$strip = $strip[0];
echo (strlen($strip) < 4) ? (int)$strip : null;