2017-09-01 26 views
0

私はキーワード-episodeまたは-movieを持つルートにマッチしようとしています。slim 3 regex route

このような私はこれをやってみましたジョッキゲート-エピソード-1または/ポケモン-映画-10

/など:

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

しかし、それは一致していません。

ご協力いただければ幸いです。私はこのbtwに全く新しいです。

答えて

0

あなたの正規表現は、正確な文字列 "episode"と "movie"にのみ一致します。あなたはURL のサブストリングが含まれているかどうかを確認したい場合は、これを使用することができます:

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

.*「は任意の文字の任意の数の」を意味します。確かに、より高度な正規表現パターンがありますが、それはあなたが必要とするものを行うでしょう。

関連する問題