Ошибка божественного маршрута

Я пытаюсь реализовать веб-сервисы Rest, используя структуру прозрения следующим образом:

include_once 'rest/Epi.php';

Epi::setSetting('exceptions', true);
Epi::setPath('base', 'rest');
Epi::init('route');
getRoute()->post('/city/(\w+)', 'getCity');
getRoute()->run();

function getCity($tmp){
    //My work
}

Проблема возникает, когда я использую URL, как:

http://mydomain/*/city/OLOMOUC-REPUBLICA%20CHECA

я понял, что проблема в регулярных выражениях (\w+)Как я могу изменить его, чтобы разрешить любую строку?

2 ответа

Решение

Кажется, что ОП хочет соответствовать всем. Так (.*) сделал работу.


\w так же, как писать [a-zA-Z0-9_], Что в основном означает, что вы должны использовать ([\w\s%-]+), \s будет соответствовать пробелу.

Попробуйте это регулярное выражение, он будет работать, так как URL не содержит места...

/city/(\S+)
Другие вопросы по тегам