2013-07-31 1 views
0

Например у меня есть этот URL & маршрут:Как сделать правильный маршрут?

http://mysite/test/article-1 

и

// Route on Test  
Route::set('Test', 'test/<alias>',array('alias'=>'\D+')) 

Это будет работать только для http://mysite/test/article, как сделать это правильно? И правило заключается в том, что псевдоним не может начинаться с цифры.

+0

Вы не ищете, как написать правильный маршрут, вы ищете регулярное выражение, которое применяется к 'статье-n'. http://webcheatsheet.com/php/regular_expressions.php кажется хорошим ресурсом. – AmazingDreams

+0

Маски статей могут быть разными, например 'my-article' или' justart' – Smash

+0

Ну, я проверил некоторые вещи, которые, похоже, работают. Если создается маска, которая не подходит, вы должны либо обновить регулярное выражение, либо алгоритм, который их генерирует :) – AmazingDreams

ответ

1

Это регулярное выражение может быть тем, что вы ищете.

^(?![0-9])([a-zA-Z0-9]+)(-([0-9]+))?

Некоторые тесты:

  • статья -> ИСТИНА
  • Статья 19 -> ИСТИНА
  • статья-Статья 19 -> ИСТИНА
  • Статья 19 -> ИСТИНА
  • why-are_programmers + developers_on_stack-overflow -> TRUE
  • 1article -> FALSE
  • 1article-17 -> FALSE