3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div id="div1"><div id="div2">222</div><div id="div3">333</div></div></body></html>'; $doc = new DOMDocument; libxml_use_internal_errors(true); $doc->loadHTML($html); $div1=$doc->getElementById('div1'); $div2=$doc->getElementById('div2'); $div3=$doc->getElementById('div3'); print_r($div2); print_r($div3); $div1->nodeValue=''; $div1->appendChild($doc->createTextNode(html_entity_decode('111'))); print_r(array($div2,$div2->parentNode)); print_r(array($div3,$div3->parentNode)); $div3->parentNode->removeChild($div3); echo $doc->saveHTML();
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/IpKCv
function name:  (null)
number of ops:  59
compiled vars:  !0 = $html, !1 = $doc, !2 = $div1, !3 = $div2, !4 = $div3
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%3C%21DOCTYPE+html%3E%3Chtml%3E%3Chead%3E%3Cmeta+http-equiv%3D%22Content-Type%22+content%3D%22text%2Fhtml%3B+charset%3Dutf-8%22%3E%3C%2Fhead%3E%3Cbody%3E%3Cdiv+id%3D%22div1%22%3E%3Cdiv+id%3D%22div2%22%3E222%3C%2Fdiv%3E%3Cdiv+id%3D%22div3%22%3E333%3C%2Fdiv%3E%3C%2Fdiv%3E%3C%2Fbody%3E%3C%2Fhtml%3E'
    4     1        NEW                                              $6      'DOMDocument'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !1, $6
    5     4        INIT_FCALL                                               'libxml_use_internal_errors'
          5        SEND_VAL                                                 <true>
          6        DO_ICALL                                                 
    6     7        INIT_METHOD_CALL                                         !1, 'loadHTML'
          8        SEND_VAR_EX                                              !0
          9        DO_FCALL                                      0          
    7    10        INIT_METHOD_CALL                                         !1, 'getElementById'
         11        SEND_VAL_EX                                              'div1'
         12        DO_FCALL                                      0  $11     
         13        ASSIGN                                                   !2, $11
    8    14        INIT_METHOD_CALL                                         !1, 'getElementById'
         15        SEND_VAL_EX                                              'div2'
         16        DO_FCALL                                      0  $13     
         17        ASSIGN                                                   !3, $13
    9    18        INIT_METHOD_CALL                                         !1, 'getElementById'
         19        SEND_VAL_EX                                              'div3'
         20        DO_FCALL                                      0  $15     
         21        ASSIGN                                                   !4, $15
   10    22        INIT_FCALL                                               'print_r'
         23        SEND_VAR                                                 !3
         24        DO_ICALL                                                 
   11    25        INIT_FCALL                                               'print_r'
         26        SEND_VAR                                                 !4
         27        DO_ICALL                                                 
   13    28        ASSIGN_OBJ                                               !2, 'nodeValue'
         29        OP_DATA                                                  ''
   14    30        INIT_METHOD_CALL                                         !2, 'appendChild'
         31        INIT_METHOD_CALL                                         !1, 'createTextNode'
         32        INIT_FCALL                                               'html_entity_decode'
         33        SEND_VAL                                                 '111'
         34        DO_ICALL                                         $20     
         35        SEND_VAR_NO_REF_EX                                       $20
         36        DO_FCALL                                      0  $21     
         37        SEND_VAR_NO_REF_EX                                       $21
         38        DO_FCALL                                      0          
   16    39        INIT_FCALL                                               'print_r'
         40        INIT_ARRAY                                       ~23     !3
         41        FETCH_OBJ_R                                      ~24     !3, 'parentNode'
         42        ADD_ARRAY_ELEMENT                                ~23     ~24
         43        SEND_VAL                                                 ~23
         44        DO_ICALL                                                 
   17    45        INIT_FCALL                                               'print_r'
         46        INIT_ARRAY                                       ~26     !4
         47        FETCH_OBJ_R                                      ~27     !4, 'parentNode'
         48        ADD_ARRAY_ELEMENT                                ~26     ~27
         49        SEND_VAL                                                 ~26
         50        DO_ICALL                                                 
   18    51        FETCH_OBJ_R                                      ~29     !4, 'parentNode'
         52        INIT_METHOD_CALL                                         ~29, 'removeChild'
         53        SEND_VAR_EX                                              !4
         54        DO_FCALL                                      0          
   19    55        INIT_METHOD_CALL                                         !1, 'saveHTML'
         56        DO_FCALL                                      0  $31     
         57        ECHO                                                     $31
         58      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
164.18 ms | 1404 KiB | 19 Q