Это потому, что DOM перепишет HTML "правильно". Если вы выполните saveHTML
, вы увидите, что тег a
теперь находится в теге body
. Я не думаю, что есть способ изменить это поведение.
Примечание:
Используйте это:
libxml_use_internal_errors(true);
$dom->loadHTML($data);
Вместо:
@$dom->loadHTML($data);
Это чище.