3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = <<<HTML <!DOCTYPE HTML> <html> <body> <p><span class="unwrap_me">ipsum</span><span class="unwrap_me">dolor</span></p> </body> </html> HTML; $dom = new DOMDocument(); $dom->loadHTML($html); $spans = iterator_to_array($dom->getElementsByTagName('span')->getIterator()); foreach ($spans as $span) { if ('unwrap_me' === $span->getAttribute('class')) { $span->replaceWith(...$span->childNodes); } } echo $dom->saveHTML();
Output for 8.1.22 - 8.1.33, 8.2.9 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
<!DOCTYPE HTML> <html> <body> <p>ipsumdolor</p> </body> </html>
Output for 8.1.19 - 8.1.21, 8.2.6 - 8.2.8
<!DOCTYPE HTML> <html><body> <p>ipsumdolor</p> </body></html>
Output for 8.0.20, 8.1.7 - 8.1.8, 8.2.0 - 8.2.5
<!DOCTYPE HTML> <html><body> <p>ipsum<span class="unwrap_me"></span></p> </body></html> free(): double free detected in tcache 2
Process exited with code 134.
Output for 8.0.1 - 8.0.19, 8.0.21 - 8.0.29, 8.1.0 - 8.1.6, 8.1.9 - 8.1.18
<!DOCTYPE HTML> <html><body> <p>ipsum<span class="unwrap_me"></span></p> </body></html>
Process exited with code 134.
Output for 8.0.30
<!DOCTYPE HTML> <html> <body> <p>ipsum<span class="unwrap_me"></span></p> </body> </html>
Process exited with code 134.

preferences:
68.04 ms | 411 KiB | 5 Q