preg_split url slug и id

В настоящее время у меня есть этот шаблон URL:

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 ответ

Решение

Попробуй это:

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

я использую - в качестве разделителя, и я проверяю, если за ним следует число в конце строки с заглядыванием (?=...)

Другие вопросы по тегам