php strlen()在不同的环境中为相同的字符串获取不同的值

时间:2015-12-08 15:40:34

标签: php xml linux windows

我有一个很长的xml字符串,我正在做一个比较的长度。在Linux环境中,它获得了2788的值,但是在Windows环境中,它获得了2860.我对输出进行了差异化,它们看起来是相同的字符串。 在进行比较之前,我还尝试了htmlentities用于调试和utf8_decode字符串,但结果没有变化。为什么会出现这种差异?

var_dump($xml);
print_r($xml);
print_r(htmlentities($architype_xml));
echo strlen(utf8_decode($xml));
echo strlen($xml);

另外,我不相信我看到新行有所不同,但也许var_dump和print_r没有给我全面的图片,我不确定如何检查。

1 个答案:

答案 0 :(得分:2)

windows中可能的换行符是" \ n \ r"并且只有" \ n"在linux上?

你可以给我们一个字符串吗?

编辑: 删除EndOfLines

$xml = str_replace(PHP_EOL, '', $xml)