英文の場合に問題はないですが、日本語を取り込むときにUTF-8の文字コードを指定する必要があります( mb_convert_encoding)
$html_str = "<h2>テスト文言</h2>";
$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTML( mb_convert_encoding($html_str, 'HTML-ENTITIES', 'UTF-8') );
$h2 = $doc->getElementsByTagName('h2');
echo $h2[0]->nodeValue;