file_get_contents似乎为数据添加了额外的回报

时间:2013-08-15 14:12:26

标签: php file-get-contents

您好我正在尝试运行一个简单的php文件打开,替换和保存。这是我的代码:

//open file and get data
$data = file_get_contents("input.xml");

// do tag replacements or whatever you want
$data = str_replace("<Property>", "<item>", $data);
$data = str_replace("</Property>", "</item>", $data);

//save it back:
file_put_contents("output.xml", $data);

我的文件打开,替换,并保存文件。但是当我打开文件时,我注意到在之前只有一行返回的每个项目后都有一个额外的行返回。

我测试了将数据直接打印到我的浏览器,并注意到file_get_contents中引入了额外的换行符,而不是在写回新文件时。

任何人都知道如何防止这些额外的行返回被引入?

谢谢!

2 个答案:

答案 0 :(得分:1)

非常感谢评论者,这比我想象的更容易解决:

我刚做了以下补充:

// fix line endings 
$data = str_replace("\r\n", "\n", $data);

答案 1 :(得分:0)

file_get_contents在返回的字符串末尾添加换行符。 这有助于我删除换行符:

$content = trim($content, "\r\n");