Here is the input string I'm using:
<div id="custom">
<table width="100%" cellspacing="0" cellpadding="10">
<tbody>
<tr valign="top">
<td id="frame1" style="width:30%;height:80%">
<div id="display">
<div id="toolBYOPPageMetaData3">
{display ref="BYOPPageMetaData" id="3"}
</div>
</div>
</td>
<td id="frame2" style="width:70%;height:80%">
<div id="display">
<div id="toolResourceList0">
{display ref="ResourceList" id="0"}
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
And here is the PHP stub I'm using:
$oDOMDocument = new DOMDocument;
$oDOMDocument->preserveWhiteSpace = false;
$oDOMDocument->formatOutput = true;
$oDOMDocument->validateOnParse = true;
if( $oDOMDocument->loadHTML( $cleanedFile ))
{
$aLayoutNodes = $oDOMDocument->getElementsByTagName("div");
if( 0 < count( $aLayoutNodes ))
{
echo 'Found [' . count( $aLayoutNodes ) . '] nodes.' . "\n";
foreach( $aLayoutNodes as $oLayoutNode )
{
$sLayoutId = $oLayoutNode->getAttribute( 'id' );
echo 'Current Id: [' . $sLayoutId . ']' . "\n";
}
}
$oCustomNode = $oDOMDocument->getElementById( "custom" );
echo 'Tag: ' . $oCustomNode->nodeValue . "\n";
}
Getting the elements by tag name, while iterating through the list I see
that one of the nodes has an id of 'custom'. However, when I try to get the
element directly using getElementById(), it doesn't return the node
properly. Am I doing something wrong?
Also, as an aside, one thing that I found odd is that count( $aLayoutNodes )
shows as 1 even though more are found. Huh?
thnx,
Christoph