为什么带有选项“ i”的preg_match不匹配?

问题描述

为什么以下代码段与选项i不匹配?

#!/usr/bin/env PHP7.4

<?PHP

        $str = 'БОЛЬШАЯ КОШКА ЛОВИТ МЫШЬ';

        echo '--- $str ----' . "\n";
        echo $str . "\n";

        $pattern = "/КОШКА/i";
        if(preg_match($pattern,$str,$out)) {
                echo "--- Both UPPER case ---\n";
                print_r($out);
        }

        $pattern = "/кошка/i";
        if(preg_match($pattern,$out)) {
                echo "--- /кошка/i ---\n";
                print_r($out);
        } else {
                echo "--- no match with /кошка/i --\n";
        }
?>

输出

(uiserver):u99246072:~/work/PHP/x$ ./x.PHP
X-Powered-By: PHP/7.4.11
Content-type: text/html; charset=UTF-8


--- $str ----
БОЛЬШАЯ КОШКА ЛОВИТ МЫШЬ
--- Both UPPER case ---
Array
(
    [0] => КОШКА
)
--- no match with /кошка/i --
(uiserver):u99246072:~/work/PHP/x$

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)