在PHP中每5句替换新行

时间:2019-05-03 15:25:30

标签: php while-loop str-replace do-while

如何在PHP中每5个句子插入一行?

样本数据:

  

句子1。句子2。句子3。句子4。句子5。句子6。   句子7。句子8。句子9。句子10。句子11。句子12。   句子13。句子14。句子15。句子16。句子17。   句子18。

输出数据:

  

句子1。句子2。句子3。句子4。句子5。

     

句子6。句子7。句子8。句子9。句子10。

     

句子11。句子12。句子13。句子14。句子15。

     

句子16。句子17。句子18。

1 个答案:

答案 0 :(得分:1)

因此,您可以将整个字符串按点分隔,然后使用array_chunk将句子分为每个包含5个句子的数组(最后一个数组包含它们的提示)。

这样做之后,您可以简单地遍历这些块,然后再次用点将其插入,并添加换行符(PHP_EOL)。

$str = 'Sentence1. Sentence2. Sentence3. Sentence4. Sentence5. Sentence6. Sentence7. Sentence8. Sentence9. Sentence10. Sentence11. Sentence12. Sentence13. Sentence14. Sentence15. Sentence16. Sentence17. Sentence18.';

$sentences = explode('.', $str);
$chunks = array_chunk($sentences, 5);

foreach ($chunks as $chunk) {
    print trim(implode('.', $chunk)) . PHP_EOL;
}

请记住,此类问题对于堆栈溢出来说是模糊的。这是一个董事会,您会在其中遇到代码中的特定问题。