0

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

$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 个元素之后拆分这个列表,所以如果"<li></li>"这个字符串中有 10 个元素,我应该得到两个字符串 output1 和 output2。

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

那么解决方案是什么?

艾哈迈尔

4

1 回答 1

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

)
于 2013-10-26T09:09:27.307 回答