3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html_string = " <div> Below are object Node with the html code </div> <script> alert('i want this to be replaced. it has no newline'); </script> <div> I don't want this to be replaced </div> <script> console.log('i also want this to be replaced. It has newline'); </script> <div> This is a div tag and not a script, so it should not be replaced </div> <script> console.warn(Finally, this should be replaced, it also has newline'); </script> <div> The above is the final result of the replacements </div> "; $doc = new DOMDocument(); $doc->loadHTML("<html>$html_string</html>", LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); $xpath = new DOMXPath($doc); foreach ($xpath->query('//script') as $script) { $comment = $doc->createComment('THIS SCRIPT CONTENT HERE HAS BEEN ALTERED'); $script->parentNode->replaceChild($comment, $script); } echo substr($doc->saveHTML(), 6, -8);
Output for git.master, git.master_jit, rfc.property-hooks
<div> Below are object Node with the html code </div> <!--THIS SCRIPT CONTENT HERE HAS BEEN ALTERED--> <div> I don't want this to be replaced </div> <!--THIS SCRIPT CONTENT HERE HAS BEEN ALTERED--> <div> This is a div tag and not a script, so it should not be replaced </div> <!--THIS SCRIPT CONTENT HERE HAS BEEN ALTERED--> <div> The above is the final result of the replacements </div>

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:
93.04 ms | 406 KiB | 5 Q