La función DOMElement::setAttribute() es una función incorporada en PHP que se usa para establecer un atributo con el nombre dado al valor dado. Si el atributo no existe, se creará.
Sintaxis:
DOMAttr DOMElement::setAttribute( string $name, string $value )
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- $name: Especifica el nombre del atributo.
- $value: Especifica el valor del atributo.
Valor de retorno: esta función devuelve DOMAttr en caso de éxito o FALSE en caso de error.
Excepciones: esta función arroja DOM_NO_MODIFICATION_ALLOWED_ERR, si el Node es de solo lectura.
Los siguientes programas ilustran la función DOMElement::setAttribute() en PHP:
Programa 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(); ?>
Producción:
<?xml version="1.0"?> <p style="color:red">Hello, this is my paragraph.</p>
Programa 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; ?>
Producción:
Before the addition of attributes: No of attributes => 1 After the addition of attributes: No of attributes => 2
Referencia: https://www.php.net/manual/en/domelement.setattribute.php