Open In App

PHP | DOMElement setAttribute() Function

The DOMElement::setAttribute() function is an inbuilt function in PHP which is used to set an attribute with given name to the given value. If the attribute does not exist, it will be created.

Syntax:



DOMAttr DOMElement::setAttribute( string $name, string $value )

Parameters: This function accepts two parameters as mentioned above and described below:

Return Value: This function returns DOMAttr on success or FALSE on error.



Exceptions: This function throws DOM_NO_MODIFICATION_ALLOWED_ERR, if the node is readonly.

Below given programs illustrate the DOMElement::setAttribute() function in PHP:

Program 1:




<?php
  
// Create a new DOMDocument
$dom = new DOMDocument();
  
// Create an element
$node = $dom->createElement("p",
     'Hello, this is my paragraph.');
  
// Add the node to the dom
$newnode = $dom->appendChild($node);
  
// Set the attribute
$newnode->setAttribute("style", "color:red");
  
echo $dom->saveXML();
?>

Output:

<?xml version="1.0"?>
<p style="color:red">Hello, this is my paragraph.</p>

Program 2:




<?php
  
// Create a new DOMDocument
$dom = new DOMDocument();
  
// Load the XML
$dom->loadXML("<?xml version=\"1.0\"?>
<root>
    <html>
        <h1 id=\"my_id\"> Geeksforgeeks </h1>
        <h2> Second heading </h2>
    </html>
</root>");
  
// Get the elements
$node = $dom->getElementsByTagName('h1')[0];
   
echo "Before the addition of attributes: <br>";
  
// Get the attribute count
$attributeCount = $node->attributes->count();
echo 'No of attributes => ' . $attributeCount;
   
// Set the id attribute
$node->setAttribute('new', 'value');
   
echo "<br>After the addition of attributes: <br>";
   
// Get the attribute count
$attributeCount = $node->attributes->count();
echo 'No of attributes => ' . $attributeCount;
?>

Output:

Before the addition of attributes:
No of attributes => 1
After the addition of attributes:
No of attributes => 2

Reference: https://www.php.net/manual/en/domelement.setattribute.php


Article Tags :