לא בדקתי, אבל משהו כזה אמור לעבוד:
PHP קוד:
<?php
$sc = "<html>....."; // source code here
$dom = new DOMDocument();
$dom->strictErrorChecking = false; // don't check for html errors
$dom->loadHTML($sc);
$menu = $dom->getElementById('menu');
$li = $menu->getElementsByTagName('li');
$final = [];
foreach($li as $l)
$final[] = $l->nodeValue;
יוציא לך את הטקסט של כל תגי ה-li במערך.
אפשר לשחק עם זה בכל מיני צורות וגם להוציא את הHTML עצמו ולא רק את הטקסט שבין התגים.
*לא בדקתי אבל אם אני לא טועה זה אמור לעבוד.