我一直在尝试解析文件。在Notepad ++中,它不显示这两个字符之间的字符,它显示EOT:Notepad Text
但是,php没有看到:PHP Text
有没有理由PHP没有看到这个角色?如何让它看到所说的角色并将其变成换行符?提前谢谢。
答案 0 :(得分:1)
EOT是一个控制角色。输出到Web浏览器时,没有匹配的字形,因此无需输出。
如果输出字符串每个位置的ascii值或字符串的长度,您可能会发现该字符仍然存在。
http://en.wikipedia.org/wiki/End-of-transmission_character
如果要将EOT更改为换行符,可能会在字符串上循环检查非字母ASCII值并将其替换为返回字符。然后在输出之前使用PHP的nl2br()函数将换行符转换为换行符。
未经测试的代码:
for ($i = 0; i < count($string); $i++){
if(ord($string[$i]) == 4)$string[$i] = '\n';
}
ASCII 4是EOT,ASCII 13是Carriage Return,更好地称为Newline。