3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = <<<'HTML' <article> <p rel="#" src="#">aaaaaa</p> <p href="#" bla="#" bla2="#">bbbbbb</p> </article> HTML; $dom = new DOMDocument; @$dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); $xpath = new DomXPath($dom); $elements = $xpath->query('//article/*'); $allowedAttributes = ['src', 'href']; foreach($elements as $element) { for( $i = $element->attributes->length; --$i >= 0; ) { if( ! in_array( $element->attributes->item($i)->name, $allowedAttributes ) ) { $element->removeAttribute($element->attributes->item($i)->name); } } } echo $dom->saveHTML();
Output for git.master, git.master_jit, rfc.property-hooks
<article> <p src="#">aaaaaa</p> <p href="#">bbbbbb</p> </article>

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
101.82 ms | 405 KiB | 5 Q