ルート変数を受け取る必要があるように、ルート システムを構築しています。"/post/edit/some-stuff-to-check"
問題は、 ("-"
char )のようなものになるまで、完全に機能することです
これを見て
$pattern = 'post/edit/(\w+)';
$pattern = '/' . str_replace('/', '\/', $pattern) . '/i';
// Note, the "test" is a variable here
$uri = 'post/edit/test';
if (preg_match($pattern, $uri, $params)) {
// It works, outputs exactly what I need
// Array ( [0] => post/edit/test [1] => test ) Array ( )
print_r($params);
}
しかし、uri に のような変数が含まれていると/post/edit/foo-bar-test
、それは機能しなくなります。だから私は正規表現クラスを介して明示的に一致させようとしたので、これの代わりに:
$pattern = 'post/edit/(\w+)';
私はこれを使用しました:
$pattern = 'post/edit/[a-zA-Z0-9_-]';
しかし運がない。
問題は、文字列に含ま[A-Za-z0-9_-]
れる変数を適切に一致させるにはどうすればよいかということです。URI