Если html генерится в php, то через array_chunk очень просто сделать
<?
// допустим в $items у нас все пункты приходят
$chunks = array_chunk($items, 3);
$foreach ($chunks as $chunk) { ?>
<ul>
<? foreach ($chunk as $item) { ?>
<li><?= $item->text ?></li>
<? } ?>
</ul>
<? }