PHP 正则表达式匹配 Unicode 不适用于旧版本的 PHP



>I 使用 PHP 匹配以 unicode 字符开头的单词

代码是

<?php 
$word='üzgün';
$article='i düzgün you ';
if (preg_match('/b'.$word.'b/u', $article)) {
    echo 'matchs';
} else {
    echo 'nomatch';
}
phpinfo();
?>

给出了"nomatch",这很好,它适用于我的 PHP 5.4

但是在某些客户站点,他们的服务器PHP版本是5.2

相同的代码给出匹配

我自己在 http://sandbox.onlinephpfunctions.com/上尝试了代码

并得到了不同版本的不同结果

对此我该怎么办? 任何解决方法或这是一个错误已修复,我别无选择?

我建议您使用简单的解决方案,以避免错误的结果:

$word='üzgün';
$article='i düzgün you ';
$match = 'nomatch';
foreach ( explode( ' ', $article ) as $w ) {
    if( $w == $word )
        $match = 'match';
}
echo $match;

最新更新