Возможно, вам нужен синтаксический анализатор XML, например встроенный. Вот пример, на который вы можете взглянуть.
http://www.php.net/manual/en/function.xml-parse.php#90733
Если вы хотите использовать регулярные выражения, тогда что-то вроде
$str = file_get_contents('includes/header.php');
$matchedstr = preg_match("<place your pattern here>", $str, $matches);
Возможно, вам нужен шаблон
'/<ul class="home">.*?<\/ul>/s'
Где $ match будет содержать массив найденных совпадений, так что вы можете получить любой элемент из массива с помощью
$matchedstr[0];
, который вернет первый элемент. А затем выведите это.
Но я бы немного насторожился, регулярные выражения имеют тенденцию совпадать с неожиданными крайними случаями, и вам нужно предоставить им фактические данные, чтобы получить надежные результаты, когда они терпят неудачу. Однако, если вы просто передаете шаблоны, все должно быть в порядке, просто проведите несколько тестов и посмотрите, все ли работает. Если нет, то я бы по-прежнему рекомендовал использовать PHP XML Parser.
Надеюсь, это поможет.