Preg_Match特殊字符,如土耳其语和其他
我正在使用以下代码来获取URL匹配,但当我使用一些特殊字符,如土耳其语时,例如
ülke
,aşk
,我无法获得任何请求。但如果我使用ulke
,ask
,则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
相关文章