3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * PHP DOM and JavaScript with HTML entities * @link http://stackoverflow.com/q/18487515/367456 */ $doc = new DOMDocument(); $doc->loadHTML('<head/>'); $script = $doc->createElement('script', "\n if (1 < 4) {\n alert(\"hello\");\n }\n"); $head = $doc->getElementsByTagName('head')->item(0); $scriptInHead = $head->appendChild($script); echo 'libxml: ', LIBXML_DOTTED_VERSION, "\n", $doc->saveHTML();
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ATVDG
function name:  (null)
number of ops:  29
compiled vars:  !0 = $doc, !1 = $script, !2 = $head, !3 = $scriptInHead
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    7     0  E >   NEW                                              $4      'DOMDocument'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $4
    8     3        INIT_METHOD_CALL                                         !0, 'loadHTML'
          4        SEND_VAL_EX                                              '%3Chead%2F%3E'
          5        DO_FCALL                                      0          
   10     6        INIT_METHOD_CALL                                         !0, 'createElement'
          7        SEND_VAL_EX                                              'script'
          8        SEND_VAL_EX                                              '%0A++if+%281+%3C+4%29+%7B%0A++++alert%28%22hello%22%29%3B%0A++%7D%0A'
          9        DO_FCALL                                      0  $8      
         10        ASSIGN                                                   !1, $8
   12    11        INIT_METHOD_CALL                                         !0, 'getElementsByTagName'
         12        SEND_VAL_EX                                              'head'
         13        DO_FCALL                                      0  $10     
         14        INIT_METHOD_CALL                                         $10, 'item'
         15        SEND_VAL_EX                                              0
         16        DO_FCALL                                      0  $11     
         17        ASSIGN                                                   !2, $11
   13    18        INIT_METHOD_CALL                                         !2, 'appendChild'
         19        SEND_VAR_EX                                              !1
         20        DO_FCALL                                      0  $13     
         21        ASSIGN                                                   !3, $13
   15    22        ECHO                                                     'libxml%3A+'
         23        ECHO                                                     '2.9.4'
         24        ECHO                                                     '%0A'
         25        INIT_METHOD_CALL                                         !0, 'saveHTML'
         26        DO_FCALL                                      0  $15     
         27        ECHO                                                     $15
         28      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
152.68 ms | 1394 KiB | 13 Q