1

我正在尝试以这种方式使用顿悟框架实现 Rest Web 服务:

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+),我该如何更改它以允许任何字符串?

4

2 回答 2

0

OP似乎想要匹配所有内容。工作也是如此(.*)


\w和写作一样[a-zA-Z0-9_]。这基本上意味着你应该使用([\w\s%-]+). \s将匹配一个空格。

于 2013-07-03T11:58:03.540 回答
0

试试这个正则表达式它会工作,因为 url 不包含空格......

/city/(\S+)
于 2013-07-03T13:00:09.910 回答