Ошибка божественного маршрута
Я пытаюсь реализовать веб-сервисы 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+)