URLパスに "szukaj /zwierzęta"と入力すると一致しませんが、 "szukaj/zwierzeta"と入力すると一致します。PHP正規表現が一致しないポリッシュ文字
<?php
$url = "http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
$rules = array(
'film' => "/film/(?'film_slug'[^/]+)-(?'film_id'\d+)",
'szukaj' => "/szukaj/(?'query'[\w\-]+)",
);
foreach ($rules as $action => $rule) {
if (preg_match('~^'.$rule.'$~i', $uri, $params)) {
switch($action)
{
case 'szukaj': (doesn't work with ęąćźż, works with others)
}
}
}
私はまた、 'szukaj' => "/ szukaj /( 'クエリ' [\ pLの| \ pNで - ] +?)" を試してみました、
が、それはうまくいきませんでした。
してみてください。それが動作しない場合、 'u'フラグを追加しようとすると –