Preg_Match特殊字符,如土耳其语和其他

2022-03-29 00:00:00 php preg-match
我正在使用以下代码来获取URL匹配,但当我使用一些特殊字符,如土耳其语时,例如ülkeaşk,我无法获得任何请求。但如果我使用ulkeask,则I可以得到结果。

谁能告诉我这里出了什么问题?

$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];
}

Utf

您可能需要使用u修饰符来告诉preg_match将字符串视为推荐答案-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

相关文章