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 の 2 つの文字列を取得する必要があります。

私は爆発を試みましたが、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 に答える