在php中,用换行符替换每七个逗号


Replace every seven comma with line break in php

我有逗号分隔的数据,每七个数据条目(a、b、c、d、f、a、b,c、d,e、f、g、a、c、e、f,g、a,b、c,d,e,f、g(重复一次。我想用换行符替换每七个逗号,以获得如下所示的数据。

1. a,b,c,d,e,f,g
2. a,b,c,d,e,f,g
3. a,b,c,d,e,f,g
4. a,b,c,d,e,f,g
5. a,b,c,d,e,f,g

我试过了,但我是php的新手。以下是我所做的:

$data = file_get_contents("Fundo.txt");
$total = explode(",", $data);
for ($i = 0; $i < count($total); $i++)
{
    $temp = explode(',', $total[$i]);
    $Id = $temp[0];
    echo $Id . "'n"; 
}
$data = file_get_contents("Fundo.txt");
echo preg_replace('!([a-g,]{13}),?!', "$1'n", $data);

[a-g]-字符串中的符号,可以用''w或替换。

{13} -表示13个字符的

,?-删除,

输出

a,b,c,d,e,f,g
a,b,c,d,e,f,g
a,b,c,d,e,f,g
a,b,c,d,e,f,g
a,b,c,d,e,f,g

这里有另一个方法,如果您的数据包括单词而不仅仅是字母,则此方法有效。

<?php
$data = 'a,b,c,d,e,f,g,a,b,c,d,e,f,g,a,b,c,d,e,f,hello,world,universe,c,d,e,f,g,a,b,c,d,e,f,g';
$exploded = explode(',', $data);
$final = '';
for ($i = 0; $i < count($exploded); $i += 7)
    $final .= implode(',', array_slice($exploded, $i, 7)) . "'n";
echo $final;

输出:

a,b,c,d,e,f,g
a,b,c,d,e,f,g
a,b,c,d,e,f,hello
world,universe,c,d,e,f,g
a,b,c,d,e,f,g