苗条的3正则表达式路线

时间:2017-09-01 03:51:02

标签: regex slim-3

我尝试匹配包含关键字-episode或-movie的路线。

如/ steins-gate-episode-1或/ pokemon-movie-10

我试过这样做:

$app->get('/{slug:episode|movie}', \App\Controller\EpisodeController::class . ':getBySlug');

但它并不匹配。

任何帮助将不胜感激。我完全是新手。

1 个答案:

答案 0 :(得分:0)

您的正则表达式仅匹配完整的字符串" episode"和#34;电影"。如果您想检查网址是否包含子字符串,可以使用以下内容:

$app->get('/{slug:.*episode.*|.*movie.*}', function ($request, $response, $args) {
    echo $args['slug'];
});

.*表示"任意数量的任何字符" 。当然有更先进的正则表达式模式,但这将做你需要的。