在每个第n个元素php之后拆分一个字符串

时间:2013-10-26 09:01:34

标签: php

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

$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个"<li></li>"元素,我应该得到两个字符串output1和output2。

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

那么解决方案是什么?

艾哈迈尔

1 个答案:

答案 0 :(得分:0)

你可以这样做:

$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>
        )

)