我有一个带有换行符的文本文件,我已经将其列入单行,并在每行的末尾添加了逗号。
我需要删除该行中的每36个逗号并添加换行符。
这是我的代码:
$lines = file("filename.txt", FILE_IGNORE_NEW_LINES);
$comma_separated = implode(",", $lines);
$lines2 = preg_replace('/(?:[^,]*,){36}/', '$0\r\n', $comma_separated);
我一直遇到编码问题。我的大脑不会那样走。我尽我所能,我100%肯定我已经搜索并阅读了解决方案,但我还没理解。
答案 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,',');
}
}