DOMElement: td vs. th

[email protected] (Andy Theuninck)
Newsgroups php.general
Message-ID <[email protected]>
I'm trying to parse a string containing an HTML table using the
builtin DOM classes and running into an odd problem.

Here's what I'm doing:
$dom = new DOMDocument();
$dom->loadHTML($str);
$tables = $dom->getElementsByTagName("table");
$rows = $tables->item(0)->getElementsByTagName('tr');
foreach($rows as $row){
    foreach($row->childNodes as $node)
         // stuff
}

This gives me the row elements in order and access to their contents.
The weird part is $node always appears to be a td tag - even when it's
a th tag in the original string (DOMElement::tagName is always "td"
(as well as DOMNode::nodeName and DOMNode::localName)). The th tags
definitely aren't being omitted; I still get nodes with their
contents, just with the wrong tag name.

Is there any way to override this behavior so that I can distinguish
between td tags and th tags?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.