Мне очень жаль, я знаю, что этот ответ никто не оценит по разным причинам, но в любом случае, я чувствую, что должен это сказать.
Мне кажется, что вы, вероятно, используете не тот инструмент. Я предлагаю вам использовать настоящий парсер, предназначенный для разбора (x) html / xml. Я думаю, html содержит гораздо больше тонкостей, чем вы реально можете уловить с помощью своего регулярного выражения. Я сам давно не писал ни одного php, но я уверен, что у него есть необходимые инструменты, чтобы выполнить разбор для вас ( может быть, это ?).
Конечно, интересно делать все самостоятельно, но практичнее использовать то, что было сделано (и проверено) для вас.
Я надеюсь, что вы будете помнить об этом.
PS: Да, я знаю, что обычное утверждение «Не анализировать xml с регулярным выражением» является крайне банальным / банальным, но это не мешает ему быть правдой в большинстве случаев.