MW211 EXIT

devlog
PHP/CSVを七列ごとに改行(続き)
2018年06月07日
一列のCSVデータを七件ずつ改行するには?
┌───┬──────────────────────────────────┐
│置換前│1,2,3,4,5,6,7,8,9,10,11,12,13,14,15                                 │
├───┼──────────────────────────────────┤
│置換後│1,2,3,4,5,6,7                                                       │
│      │8,9,10,11,12,13,14                                                  │
│      │15                                                                  │
└───┴──────────────────────────────────┘

PHPでやってみたよ。
┌──────────────────────────────────────┐
│$csv = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15';                               │
│$offset = -1; $count = 0;                                                   │
│while (($offset = strpos($csv, ',', ++$offset)) !== FALSE && ++$count) {    │
│    if ($count % 7 === 0) {                                                 │
│        $csv = substr_replace($csv, "\r\n", $offset, 1);                    │
│    }                                                                       │
│}                                                                           │
│echo $csv;                                                                  │
└──────────────────────────────────────┘

テクニックに走った感じ(自分でも後でわからなくなりそう)なので、
ちょっとわかりやすくしてみた。
┌──────────────────────────────────────┐
│$csv = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15';                               │
│$count = 1;                                                                 │
│$offset = 0;                                                                │
│while (($offset = strpos($csv, ',', $offset)) !== FALSE) {                  │
│    if ($count % 7 === 0) {                                                 │
│        $csv = substr_replace($csv, "\r\n", $offset, 1);                    │
│    }                                                                       │
│    $count++;                                                               │
│    $offset++;                                                              │
│}                                                                           │
│echo $csv;                                                                  │
└──────────────────────────────────────┘
分類:PHP