DOMDocument

$doc = new DOMDocument();
$doc->loadHTML($html);

nodeValue - получение значения текстовых узлов
item(0) - первый элемент из найденных или [0]
$doc->saveHTML($obj) - получить html выбранного узла ($obj)
Получить название текущего узла $li->nodeName; $li->tagName;