【发布时间】:2017-05-15 18:48:27
【问题描述】:
我将这个 array_diff 用于两个文本,但我无法使用这些 preg_replaces 在文本行的 and 处删除空白行
$result = preg_replace('/^[ \t]*[\r\n]+/m', '', $result);
$result = preg_replace('/[\r\n]+$/', '', $result);
我不应该删除 PHP.EOL 但它会产生一个空行。我该怎么办?
<?php
$new = explode(PHP_EOL, file_get_contents('new.txt').PHP_EOL);
$old = explode(PHP_EOL, file_get_contents('old.txt').PHP_EOL);
$result = array_diff($new, $old);
$output= fopen("Output.txt", "w") or die("Unable to open file!");
foreach($result as $value){
fwrite($output, $value.PHP_EOL); }
?>
output.txt 示例
4. data
3. data
2. data
1. blank line
【问题讨论】:
-
我认为 $result = trim($result);应该够了。
-
查看trim()
-
不行。你试过了吗?