Clasa PHP DOMElement contine metode care pot fi utilizate pentru: citire, setare si stergere atribute in documentul HTML incarcat in obiect DOMDocument.
Pentru a traversa un obiect PHP, se foloseste instructiunea foreach().
<?php // sir cu continut HTML $strhtml = '<!doctype html> <html> <head> <meta charset="utf-8" /> <title>PHP getAttribute</title> </head> <body> <ul id="menu"> <li><a href="http://www.coursesweb.net/" title="Cursuri programare web">CoursesWeb.net</a></li> <li><a href="https://marplo.net/" title="Cursuri gratuite Jocuri Anime">MarPlo.net</a></li> <li><a href="http://www.php.net/" title="PHP Website">php.net</a></li> </ul> </body></html>'; // creaza obiectul DOMDocument si incarca HTML din sir $dochtml = new DOMDocument(); $dochtml->loadHTML($strhtml); // preia elementul cu id="menu" $menu = $dochtml->getElementById('menu'); // obtine toate tag-urile <a> din $menu $atgs = $menu->getElementsByTagName('a'); // parcurge obiectul cu toate <a> in $menu foreach($atgs as $atag) { // afiseaza valoarea "href" echo $atag->getAttribute('href'). '<br/>'; } ?>
<?php // sir cu continut HTML $strhtml = '<body> <div id="dv1">Curs gratuit PHP-MySQL.</div> <div>Lucru cu atribute HTML in PHP.</div> <div id="did">Resurse Web Development.</div> </body>'; // creaza obiectul DOMDocument si incarca HTML din sir $dochtml = new DOMDocument(); $dochtml->loadHTML($strhtml); // obtine toate tag-urile DIV $divs = $dochtml->getElementsByTagName('div'); // parcurge obiectul cu toate DIV-urile foreach($divs as $div) { // daca $div are ID, obtine si afiseaza ID-ul si continutul if($div->hasAttribute('id')) { $id = $div->getAttribute('id'); $cnt = $div->nodeValue; echo $id. ' - '. $cnt. '<br/>'; } } ?>
<?php $strhtml = '<!doctype html> <html> <head> <meta charset="utf-8" /> <title>PHP setAttribute</title> </head> <body> <p class="cls">Lectii gratuite PHP-MySQL.</p> <p>URL: http://www.coursesweb.net/php-mysql/</p> <p>Resurse Web Development.</p> </body></html>'; // creaza obiectul DOMDocument si incarca HTML din sir $dochtml = new DOMDocument(); $dochtml->loadHTML($strhtml); // obtine toate tag-urile <p> $prgs = $dochtml->getElementsByTagName('p'); // parcurge obiectul cu toate paragrafele foreach($prgs as $prg) { // seteaza /creaza class="newcls" la fiecare <p> $prg->setAttribute('class', 'newcls'); } // obtine obiect cu elementul <body> (cu tot continutul din el) $body = $dochtml->getElementsByTagName('body')->item(0); // adauga continutul $body intr-un sir si-l afiseaza $strbody = $dochtml->saveHTML($body); echo $strbody; ?>
<body> <p class="newcls">Lectii gratuite PHP-MySQL.</p> <p class="newcls">URL: http://www.coursesweb.net/php-mysql/</p> <p class="newcls">Resurse Web Development.</p> </body>
<?php // sir cu continut HTML $strhtml = '<body> <p class="cls">Lectii gratuite PHP-MySQL.</p> <p class="othercls">Cursuri programare web.</p> </body>'; // creaza obiectul DOMDocument si incarca HTML din sir $dochtml = new DOMDocument(); $dochtml->loadHTML($strhtml); // obtine toate tag-urile <p> $prgs = $dochtml->getElementsByTagName('p'); // parcurge obiectul cu toate paragrafele foreach($prgs as $prg) { // daca elementul curent are class="cls", sterge atributul if($prg->hasAttribute('class') && $prg->getAttribute('class') == 'cls') { $prg->removeAttribute('class'); } } // obtine obiect cu elementul <body> (cu tot continutul din el) $body = $dochtml->getElementsByTagName('body')->item(0); // adauga continutul $body intr-un sir si-l afiseaza $strbody = $dochtml->saveHTML($body); echo $strbody; ?>
<body> <p>Lectii gratuite PHP-MySQL.</p> <p class="othercls">Cursuri programare web.</p> </body>
<input type="text" name="a_name" value="val" />
h3 { font-variant: small-caps; }
var msg = "Viziteaza CoursesWeb.net"; alert(msg);
$ip = $_SERVER["REMOTE_ADDR"]; echo $ip;
He actually came on time. - De fapt, el a venit la timp.
Hoy hace buen tiempo. - Astazi e vreme frumoasa.