preg_split url slug和id

时间:2013-09-02 00:56:50

标签: php regex preg-split

我目前有这种网址格式:

foo-bar-1
bar-foo-bar-2
etc

我希望将这些词语与数字分开,但我在完全理解如何做到这一点时遇到了一些麻烦。

我从这开始就让我走近了:

$slug = 'foo-bar-1';
preg_split('/(\d+)$/', $slug);

array (size=2)
  0 => string 'foo-bar-' (length=8)
  1 => string '' (length=0)

但我似乎无法完成它。我希望它是这样的:

array (size=2)
      0 => string 'foo-bar' (length=7)
      1 => string '1' (length=1)

非常感谢任何帮助!谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

preg_split('/-(?=\d+$)/', $slug);

我使用-作为分隔符,并使用lookahead (?=...)

检查字符串末尾是否后跟一个数字