Dieser Code gibt keine Übereinstimmungen zurück, wenn ich "szukaj/zwierzęta" in den URL-Pfad eingeben, aber wenn ich "szukaj/zwierzeta" eingeben, funktioniert es.PHP Regex nicht mit polnischen Zeichen
<?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)
}
}
}
ich auch versucht, mit 'zu' => "/ szukaj/('query' [\ pL | \ pN -] +?)",
aber es hat nicht funktioniert.
Versuchen Hinzufügen Unicodeflag '' am Anfang Ihrer regex. Wenn es nicht funktioniert, versuchen Sie das Hinzufügen von "u" flag –