从第n行文本文件中删除逗号并添加换行符

时间:2017-08-23 09:41:35

标签: php text-files

我有一个带有换行符的文本文件,我已经将其列入单行,并在每行的末尾添加了逗号。

我需要删除该行中的每36个逗号并添加换行符。

这是我的代码:

$lines = file("filename.txt", FILE_IGNORE_NEW_LINES);
$comma_separated = implode(",", $lines);

$lines2 = preg_replace('/(?:[^,]*,){36}/', '$0\r\n', $comma_separated);

我一直遇到编码问题。我的大脑不会那样走。我尽我所能,我100%肯定我已经搜索并阅读了解决方案,但我还没理解。

2 个答案:

答案 0 :(得分:0)

我宁愿做这样的事情。
在你崩溃之前,不是一个最终会失败的正则表达式,而是在每36行添加一个字符串 使用简单的str_replace()可以轻松找到此字符串,以删除和添加换行符。

$lines = file("filename.txt", FILE_IGNORE_NEW_LINES);

For($i=0; $i<count($lines);){
    $lines[$i] .= "something";
    $i = $i+36;
}

$comma_separated = implode(",", $lines);
// String replace something to line break.
$result = str_replace("something,", "<br>", $comma_separated);

编辑抱歉,字符串替换当然需要在内爆后进行 对不起,感到困惑。

答案 1 :(得分:-1)

$lines = file("filename.txt", FILE_IGNORE_NEW_LINES);

For($i=0; $i<count($lines);){
    //your code
   if($i%36==0){
      trim($line,',');
   }
}