从文本文件中删除空白

时间:2016-03-10 09:27:52

标签: php

我想从此文本文件中删除空行:

test1
test2

test3

test4

所以我在PHP中试用这段代码:

$file = __DIR__.$namefile;
foreach ($file as $k => $v) {
    if (!trim($v))
        unset($lines[$k]);
    }
    $f = fopen($file, "r");

    $array1 = array();

    //Extract all url from file
    while ( $line = fgets($f, 1000) ) {
        $nl = mb_strtolower($line,'UTF-8');
        $array1[] = $nl;
    }

但它不起作用。谢谢你的帮助!

3 个答案:

答案 0 :(得分:0)

如何爆炸每一条新线并检查它是否为空?

<?php
$content = fopen($file = __DIR__.$namefile, "r");
$lines = explode("\n", $content);
$result = array();
foreach ($lines AS $line) {
    if (!empty($line)) {
        $result[] = $line;
    }
}
$result = implode("\n", $result);

或者,正如亨德斯建议的那样,请看https://stackoverflow.com/a/7972266/1441858

<?php
$content = fopen($file = __DIR__.$namefile, "r");
$lines = explode("\n", $content);
$result = array_filter($lines, 'trim');
$result = implode("\n", $result);

答案 1 :(得分:0)

$file = __DIR__.$namefile;
$lines = explode("\n", file_get_contents($file));
$result = array_filter($lines);

echo implode("\n", $result);
file_put_contents($file, implode("\n", $result)); //save

或使用:

$result = array_filter($lines, 'trim');

如果空行中可能有空格。

答案 2 :(得分:0)

$file = __DIR__.$namefile;
$f = fopen($file, "r");

$array1 = array();

//Extract all url from file
while ( $line = fgets($f, 1000) ) {
    $nl = mb_strtolower($line,'UTF-8');
    if (trim($line) != "") {
        $array1[] = $nl;
    }
}
fclose($f);