据我理解,以下代码应该会将字符串按照换行符(
为什么会这样?
但是。
\r
、\n
和 \r\n
)进行分割。preg_split("%\R%", $str);
为什么会这样?
var_dump(preg_split("%\R%", "Å"));
输出
array(2) {
[0]=>
string(1) "▒"
[1]=>
string(0) ""
}
但是。
var_dump(preg_split("%(\r|\n|\r\n)%", "Å"));
正常情况下不应该拆分字符,我知道应该使用“u”修饰符(PCRE_UTF8),因为字符是UTF-8编码的,但为什么preg_split
认为Å(0xC3 0x85
)可能包含换行符?
\x85
字符,但PCRE库将其识别为换行序列。 - axiac