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>
<dl> <dt>HTML</dt> <dd> - Hyper Text Markup Language</dd> <dd> - Limbaj de cod pentru pagini web</dd> </dl>
#id { visibility: hidden; }
document.getElementById("id").onclick = function(){ alert("http://www.MarPlo.net/"); }
if(isset($_REQUEST["id"])) { echo $_REQUEST["id"]; }
I believe in my path. - Eu cred in calea mea.
creer = a crede; camino = cale /drum; iluminación = iluminare