Ответ 1

Да. Простой html-документ хорош, но порядок величина медленнее, чем встроенный парсер.

$dom = new DOMDocument();
@$dom->loadHTML($html);
$x = new DOMXPath($dom); 

foreach($x->query("//a") as $node) 
{
    $data['dom']['href'][] = $node->getAttribute("href");
} 

Используйте это.

Ответ 2

Вы можете посмотреть встроенную DOM

http://php.net/dom