DOMElement: td vs. th
| From: | Andy Theuninck | Date: | Thu, 11 Mar 2010 20:34:31 +0000 |
| Subject: | DOMElement: td vs. th | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-302710@lists.php.net to get a copy of this message | ||
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?