downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

DOMElement::setAttributeNode> <DOMElement::removeAttributeNS
[edit] Last updated: Fri, 23 Mar 2012

view this page in

DOMElement::setAttribute

(PHP 5)

DOMElement::setAttributeYeni bir öznitelik ekler

Açıklama

DOMAttr DOMElement::setAttribute ( string $isim , string $değer )

İsmi ve değeri belirtilen özniteliği tanımlar. Öznitelik düğümde mevcut değilse oluşturulur.

Değiştirgeler

isim

Özniteliğin ismi.

değer

Özniteliğin değeri.

Dönen Değerler

Bir hata durumunda FALSE, aksi takdirde yeni bir DOMAttr nesnesi döner.

Hatalar/İstisnalar

DOM_NO_MODIFICATION_ALLOWED_ERR

Düğüm salt okunur ise oluşur.

Örnekler

Örnek 1 - Bir özniteliğin atanması

<?php
$doc 
= new DOMDocument("1.0");
$node $doc->createElement("para");
$newnode $doc->appendChild($node);
$newnode->setAttribute("align""left");
?>

Ayrıca Bakınız



add a note add a note User Contributed Notes DOMElement::setAttribute
Rakesh Verma - rakeshnsony at gmail dot com 10-Nov-2010 11:27
<?php
//Store your html into $html variable.
$html="
<html>
<head>
<title>Untitled Document</title>
</head>

<body>
    <a href='http://example.com'>Example</a><br>
    <a href='http://google.com'>Google</a><br>
   
    <a href='http://www.yahoo.com'>Yahoo</a><br>
</body>

</html>"
;

$dom = new DOMDocument();
$dom->loadHTML($html);

//Evaluate Anchor tag in HTML
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//a");

for (
$i = 0; $i < $hrefs->length; $i++) {
       
$href = $hrefs->item($i);
       
$url = $href->getAttribute('href');

       
//remove and set target attribute       
       
$href->removeAttribute('target');
       
$href->setAttribute("target", "_blank");

       
$newURL=$url."/newurl";

       
//remove and set href attribute       
       
$href->removeAttribute('href');
       
$href->setAttribute("href", $newURL);
}

// save html
$html=$dom->saveHTML();

echo
$html;

?>
address at gmail dot com 03-Jul-2008 07:25
If wanting to set an attribute of an element with unique id of "1"

<?php
$dom
= new DomDocument();
$dom->load('test.xml');
$xp = new DomXPath($dom);
$res = $xp->query("//*[@id = '1']");
$res->item(0)->setAttribute('title','2');
$dom->save('test.xml');
?>
Vasil Rangelov 31-Jul-2007 04:44
@karvjorm,
Using this method is not exactly a good practice. Infact, I think it may be a bug.
Names beginning with "xml" are reserved (for namespaces in this case).
setAttribute() should return false in this case I think, but I suppose it doesn't.

Still, the right way to do it is with createElementNS().
It lets you specify the namespace when creating the element node.

So the equivalent to yours ($html added to allow word wrapping) is:

$dom = new DomDocument('1.0','iso-8859-15');
$html = $dom->createElementNS('http://www.w3.org/1999/xhtml', 'html');
$ht_ml = $dom->appendChild($html);
$ht_ml->setAttribute('xml:lang','fi');
$ht_ml->setAttribute('lang','fi');
karvjorm at users.sourceforge.net 02-Mar-2007 03:05
$dom = new DomDocument('1.0','iso-8859-15');

$ht_ml = $dom->appendChild($dom->createElement('html'));
$ht_ml->setAttribute('xmlns','http://www.w3.org/1999/xhtml');
$ht_ml->setAttribute('xml:lang','fi');
$ht_ml->setAttribute('lang','fi');

Result:

<?xml version="1.0" encoding="iso-8859-15"?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi" lang="fi">

 
show source | credits | sitemap | contact | advertising | mirror sites