【问题标题】:Splitting a String after every nth element php在每个第 n 个元素 php 之后拆分一个字符串
【发布时间】:2013-10-26 17:35:13
【问题描述】:

我有一个这种形式的字符串

$navigation="<li>A</li><li>B</li><li>C</li><li>A</li><li>B</li><li>C</li><li>A</li><li>B</li><li>C</li>";

列表是从数据库动态生成的,因此元素的数量不是固定的。我想在每 5 个元素之后拆分这个列表,所以如果这个字符串中有 10 个 "&lt;li&gt;&lt;/li&gt;" 元素,我应该得到两个字符串 output1 和 output2。

我尝试过explode,但它不起作用,因为我们必须对第n个元素施加限制,我也尝试过string_split,但这也不起作用。

那么解决办法是什么?

阿马尔

【问题讨论】:

    标签: php


    【解决方案1】:

    你可以这样做:

    $s = "<li>A</li><li>B</li><li>C</li><li>A</li><li>B</li><li>C</li><li>A</li><li>B</li><li>C</li>";
    if (preg_match_all('~((?:<li>.*?</li>){5})~i', $s, $arr))
       print_r($arr);
    

    输出:

    Array
    (
        [0] => Array
            (
                [0] => <li>A</li><li>B</li><li>C</li><li>A</li><li>B</li>
            )
    
        [1] => Array
            (
                [0] => <li>A</li><li>B</li><li>C</li><li>A</li><li>B</li>
            )
    
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-29
      • 2022-01-15
      • 1970-01-01
      • 2012-03-17
      • 2011-05-07
      相关资源
      最近更新 更多