Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php preg_match_仅使用特定的日语字符在IIS上显示所有不同的结果_Php_Regex_Iis_Iis 7_Preg Match All - Fatal编程技术网

php preg_match_仅使用特定的日语字符在IIS上显示所有不同的结果

php preg_match_仅使用特定的日语字符在IIS上显示所有不同的结果,php,regex,iis,iis-7,preg-match-all,Php,Regex,Iis,Iis 7,Preg Match All,我们有一个问题,函数根据运行它的服务器给出不同的结果 功能如下: <?php $s='校'; preg_match_all( '/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $s, $matches ); WS2008 IIS7(菲律宾比索5.4.24 PCRE 8.32) 现在,真正奇怪的是,有很多不同的日语字符,结果在所有环境下都是正确的。现在我们唯一能重现这个问题的是这个校' 性格是否随附($s=)校正' 例如)或单独使用,IIS上的结果

我们有一个问题,函数根据运行它的服务器给出不同的结果

功能如下:

<?php
$s='校';
preg_match_all( '/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $s, $matches );
WS2008 IIS7(菲律宾比索5.4.24 PCRE 8.32)

现在,真正奇怪的是,有很多不同的日语字符,结果在所有环境下都是正确的。现在我们唯一能重现这个问题的是这个校' 性格是否随附($s=)校正' 例如)或单独使用,IIS上的结果总是不同的,看起来像是编码问题'�'.

我第一次尝试查看php版本和PCRE版本,但这两个版本在我们的LAMP上都是较旧的版本,所以我认为问题可能在其他地方


关于

在处理Unicode字符串时,您需要通过模式传递
/u
修饰符

使用


处理Unicode字符串时,您需要传递
/u
修饰符。请尝试
'/“*?(“|$)|((?确实很简单,但我没有考虑它,因为其他字符工作正常。请写一个答案,我会验证给您。
array (size=3)
  0 => 
    array (size=1)
      0 => string '校' (length=3)
  1 => 
    array (size=1)
      0 => string '' (length=0)
  2 => 
    array (size=1)
      0 => string '' (length=0)
array(3) { 
    [0]=> array(2) { 
        [0]=> string(1) "�" 
        [1]=> string(1) "�" 
    } 
    [1]=> array(2) { 
        [0]=> string(0) "" 
        [1]=> string(0) "" 
    }
    [2]=> array(2) { 
        [0]=> string(0) "" 
        [1]=> string(0) "" 
    }
}
'/".*?("|$)|((?<=[\s",+])|^)[^\s",+]+/u'.