The DOMElement::getElementsByTagName() function is an inbuilt function in PHP which is used to get the elements by tagname.
Syntax:
DOMNodeList DOMElement::getElementsByTagName( string $name )
Parameters: This function accepts a single parameter $name which holds the tag name or use * for getting all the tags.
Return Value: This function returns a DOMNodeList value containing all descendant elements with a given tag name, in the order in which they are encountered in a preorder traversal of this element tree.
Below examples illustrate the DOMElement::getElementsByTagName() function in PHP:
Example 1:
<?php
// Create a new DOMDocument
$dom = new DOMDocument();
// Load the XML
$dom->loadXML("<?xml version=\"1.0\"?>
<root>
<body>
<div>
<h1 style=\"color:red;\"> Hello, this is my red heading. </h1>
<h1 style=\"color:green;\"> Hello, this is my green heading. </h1>
<h1 style=\"color:blue;\"> Hello, this is my blue heading. </h1>
</div>
</body>
</root>");
// Save the XML
$nodeList = $dom->getElementsByTagName('h1');
foreach ($nodeList as $node) {
// Get the attribute value of style
echo $node->getAttribute('style') . '<br>';
}
?>
Output:
color:red; color:green; color:blue;
Example 2:
<?php
// Create a new DOMDocument
$dom = new DOMDocument();
// Load the XML
$dom->loadXML("<?xml version=\"1.0\"?>
<root>
<body>
<div>
<p> Hello, this is my first paragraph. </p>
<p> Hello, this is my second paragraph. </p>
<p> Hello, this is my third paragraph. </p>
</div>
</body>
</root>");
// Get the element by tagname
$nodeList = $dom->getElementsByTagName('p');
foreach ($nodeList as $node) {
// Get the textContent
echo $node->textContent . '<br>';
}
?>
Output:
Hello, this is my first paragraph. Hello, this is my second paragraph. Hello, this is my third paragraph.
Reference: https://www.php.net/manual/en/domelement.getelementsbytagname.php