PHP | DOMElement removeAttributeNode() Function
Last Updated :
05 Mar, 2020
The DOMElement::removeAttributeNode() function is an inbuilt function in PHP which is used to remove attribute from element.
Syntax:
bool DOMElement::removeAttributeNode( DOMAttr $oldnode )
Parameters: This function accepts a single parameter $oldnode which holds the attribute that to be removed.
Return Value: This function returns TRUE on success or FALSE on failure.
Exceptions: This function throws DOM_NO_MODIFICATION_ALLOWED_ERR, if the node is read-only and DOM_NOT_FOUND_ERROR if $oldnode is not a attribute of element.
Below given programs illustrate the DOMElement::removeAttributeNode() function in PHP:
Program 1:
<?php
$dom = new DOMDocument();
$dom ->loadXML("<?xml version=\"1.0\"?>
<root>
<html>
<h1 id=\"my_id\"> Geeksforgeeks </h1>
<h2> Second heading </h2>
</html>
</root>");
$node = $dom ->getElementsByTagName( 'h1' )[0];
echo "Before the removal of attributes: <br>" ;
$attribute = $node ->attributes->item(0);
$attribute_name = $attribute ->name;
$attribute_value = $attribute ->value;
echo $attribute_name . ' => ' ;
echo $attribute_value ;
$oldnode = $node ->getAttributeNode( 'id' );
$node ->removeAttributeNode( $oldnode );
echo "<br>After the removal of attributes: <br>" ;
$attribute = $node ->attributes->item(0);
$attribute_name = $attribute ->name . ' => ' ;
$attribute_value = $attribute ->value;
echo $attribute_name ;
echo $attribute_value ;
?>
|
Output:
Before the removal of attributes:
id => my_id
After the removal of attributes:
=> // Empty string means attribute is removed
Program 2:
<?php
$dom = new DOMDocument();
$dom ->loadXML("<?xml version=\"1.0\"?>
<root>
<html>
<h1 id=\"my_id\" style=\"color:green;\"
class =\"my_class\"> Geeksforgeeks </h1>
<h2> Second heading </h2>
</html>
</root>");
$node = $dom ->getElementsByTagName( 'h1' )[0];
echo "Before the removal of attributes: <br>" ;
$oldnode = $node ->getAttributeNode( 'id' );
$attributeCount = $node ->attributes-> count ();
echo 'No of attributes => ' . $attributeCount ;
$node ->removeAttributeNode( $oldnode );
echo "<br>After the removal of attributes: <br>" ;
$attributeCount = $node ->attributes-> count ();
echo 'No of attributes => ' . $attributeCount ;
?>
|
Output:
Before the removal of attributes:
No of attributes => 3
After the removal of attributes:
No of attributes => 2
Reference: https://www.php.net/manual/en/domelement.removeattributenode.php
Share your thoughts in the comments
Please Login to comment...