Я предпочитаю работать со встроенными XML-объектами, такими как DOM и XML Reader.
Если Вы хотите воспользоваться внешними библиотеками, я советую использовать только те из них, которые не просто парсят строки, а работают из структурой DOM/libxml (SimpleHtmlDom к ним не относится, не советую Вам эту библиотеку). Вот список рекомендуемых мною:
Вы можете использовать эти библиотеки и для парсинга HTML5, но там есть особенности, связанные с HTML5-ряметкой. Так что, возможно, в этом случае стоит обратить внимание на инструменты, специально заточены под HTML5, например html5lib.
Последнее, что я бы Вам порекомендовал (то есть крайне не рекомендовал бы!), это извлекать данные из HTML с помощью регулярных выражений. Коротко говоря, они совсем не предназначены для этой цели. И хотя в интернете полно примеров разбора HTML регулярными выражениями, эти примеры зачастую подходят только для частного случая. Немного поменяется разметка — и регулярка не сработает. А написать универсальное регулярное выражение — ой как не просто.