DOMElement::getElementsByTagName

(PHP 5, PHP 7)

DOMElement::getElementsByTagNameGets elements by tagname

说明

public DOMElement::getElementsByTagName ( string $name ) : DOMNodeList

This function returns a new instance of the class DOMNodeList of all descendant elements with a given tag name, in the order in which they are encountered in a preorder traversal of this element tree.

参数

name

The tag name. Use * to return all elements within the element tree.

返回值

This function returns a new instance of the class DOMNodeList of all matched elements.

参见

User Contributed Notes

rudiger at greatdealsenterprises dot com 12-Jun-2019 11:45
Note that even though getElementsByTagName returns a NodeList which is defined as a list of DOMNodes, you're actually getting a list of DOMElements. That allows to call getElementsByTagName on each of the results.

$tables = $doc->getElementsByTagName('table');
foreach ($tables as $table) {
  $trs = $table->getElementsByTagName('tr');
  // etc...
}
Brennon Brimhall 18-Jan-2017 11:51
Be aware that this function returns all descendants, not just immediate children.
ddkkdd twenty twenty at gmail dot com 08-Sep-2010 03:15
A simple function that uses this method to print the nodes it finds in an xml document. Improvements welcomed.

<?php
function printTags($tag){

 
$node = $this->doc->getElementsByTagName($tag);          
   for(
$c = 0; $c<$node->length; $c++){
    
$text[$c] =$this->doc->saveXML($node->item($c));
     echo
$text[$c];

   }

 
}
?>