preg_match 土耳其语等特殊字符
preg_match special character like Turkish and other
我正在使用以下代码来获得 url 匹配项,但是当我使用一些特殊字符(例如土耳其语)时 ülke
、aşk
然后我无法获得任何请求。但是如果我使用 ulke
, ask
那么我可以得到结果。
谁能告诉我这是什么问题?
$request_uri = 'https://www.weburl.com/hashtag/ulke'; // working fine
$request_uri = 'https://www.weburl.com/hashtag/ülke'; // no result
if (preg_match('~/(hashtag)/([[\w.-]+)~', $request_uri, $match)) {
$pageFor = $match[2];
}
您可能需要使用 u
修饰符来告诉 preg_match
将字符串视为 UTF-8:
https://www.php.net/manual/en/reference.pcre.pattern.modifiers.php
$request_uri = 'https://www.weburl.com/hashtag/ülke';
if (preg_match('~/(hashtag)/([[\w.-]+)~u', $request_uri, $match)) {
$pageFor = $match[2];
}
echo $pageFor; //ülke
我正在使用以下代码来获得 url 匹配项,但是当我使用一些特殊字符(例如土耳其语)时 ülke
、aşk
然后我无法获得任何请求。但是如果我使用 ulke
, ask
那么我可以得到结果。
谁能告诉我这是什么问题?
$request_uri = 'https://www.weburl.com/hashtag/ulke'; // working fine
$request_uri = 'https://www.weburl.com/hashtag/ülke'; // no result
if (preg_match('~/(hashtag)/([[\w.-]+)~', $request_uri, $match)) {
$pageFor = $match[2];
}
您可能需要使用 u
修饰符来告诉 preg_match
将字符串视为 UTF-8:
https://www.php.net/manual/en/reference.pcre.pattern.modifiers.php
$request_uri = 'https://www.weburl.com/hashtag/ülke';
if (preg_match('~/(hashtag)/([[\w.-]+)~u', $request_uri, $match)) {
$pageFor = $match[2];
}
echo $pageFor; //ülke