PHPでも JavaScript のように、html文書からDOMオブジェクトを扱いたい時があります。
html例
<table id="my_id" data-height="999">
<tr>
<td>テストテーブル</td>
</tr>
</table>
phpでDOMを扱う
$dom = new \DomDocument();
libxml_use_internal_errors( true ); // html構造のエラーで止めたくない場合はこの行を有効にしてエラー抑制
// Domに喰わせるために html,body タグを追加する
$content_with_html_body = '<html><body>'.$content.'</body></html>';
$dom->loadHtml(mb_convert_encoding($content_with_html_body, 'HTML-ENTITIES', 'UTF-8'), LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
libxml_clear_errors(); // // html構造のエラーで止めたくない場合はこの行を有効にしてエラー抑制
// id = "my_id" を取得
$top_table = $dom->getElementById('my_id');
dump( $top_table);
dump( $top_table->ownerDocument->saveHTML() ); // 取得したdomオブジェクトのhtmlを確認する
dump( $top_table->getAttribute('data-height') ); // 取得したdomオブジェクトの data-height = 999 を取得