Ну, а если там будет хитромудрое дерево нод? И при этом в текстовых нодах вполне могут быть симоволы < и >, и атрибуты могут быть кривые, с ними же... Для корректной работы с такими штуками, по-хорошему, нужно что-то вроде HTML::TreeBuilder. А построение DOM-дерева на сервере, да еще если он высоконагружен -- не самая лучшая идея. К тому же, если исходный список не состоит из сотен нод, то JS отработает быстро.
Хотя, опять-же, здесь нужно подойти к проблеме ТС с самого начала -- а почему вообще такая задача встала (кстати, что-то самого ТС уже не слышно
) Вполне возможно, все танцы с бубнами можно отменить