3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = '<ol style="margin-top: 0cm; margin-bottom: 0cm;"> <li style="margin: 0cm 0cm 0cm 47.6px; text-align: justify; line-height: normal; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: 0.4px;"><span style="font-size: 10.0pt;">x</span></li> <li style="margin: 0cm 0cm 0cm 47.6px; text-align: justify; line-height: normal; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: 0.4px;"><span style="font-size: 10.0pt;">y</span></li> <li style="margin: 0cm 0cm 0cm 47.6px; text-align: justify; line-height: normal; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: 0.4px;"><span style="font-size: 10.0pt;">z</span></li> <li style="margin: 0cm 0cm 0cm 47.6px; text-align: justify; line-height: normal; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: 0.4px;"></li> <li style="margin: 0cm 0cm 0cm 47.6px; text-align: justify; line-height: normal; font-size: 11pt; font-family: Calibri, sans-serif; text-indent: 0.4px;"><span style="font-size: 10.0pt; color: red;"> </span></li> </ol>'; $emptyLists = '//li[not(normalize-space())]'; $dom = new DOMDocument; $dom->loadHTML($html); $xpath = new DOMXPath($dom); foreach($xpath->query($emptyLists) as $node) { $node->parentNode->removeChild($node); } echo $dom->saveHTML($xpath->query('//ol')->item(0));
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 16, Position 2 = 22
Branch analysis from position: 16
2 jumps found. (Code = 78) Position 1 = 17, Position 2 = 22
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
Branch analysis from position: 22
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 22
filename:       /in/OA5eV
function name:  (null)
number of ops:  34
compiled vars:  !0 = $html, !1 = $emptyLists, !2 = $dom, !3 = $xpath, !4 = $node
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '%3Col+style%3D%22margin-top%3A+0cm%3B+margin-bottom%3A+0cm%3B%22%3E%0A%3Cli+style%3D%22margin%3A+0cm+0cm+0cm+47.6px%3B+text-align%3A+justify%3B+line-height%3A+normal%3B+font-size%3A+11pt%3B+font-family%3A+Calibri%2C+sans-serif%3B+text-indent%3A+0.4px%3B%22%3E%3Cspan+style%3D%22font-size%3A+10.0pt%3B%22%3Ex%3C%2Fspan%3E%3C%2Fli%3E%0A%3Cli+style%3D%22margin%3A+0cm+0cm+0cm+47.6px%3B+text-align%3A+justify%3B+line-height%3A+normal%3B+font-size%3A+11pt%3B+font-family%3A+Calibri%2C+sans-serif%3B+text-indent%3A+0.4px%3B%22%3E%3Cspan+style%3D%22font-size%3A+10.0pt%3B%22%3Ey%3C%2Fspan%3E%3C%2Fli%3E%0A%3Cli+style%3D%22margin%3A+0cm+0cm+0cm+47.6px%3B+text-align%3A+justify%3B+line-height%3A+normal%3B+font-size%3A+11pt%3B+font-family%3A+Calibri%2C+sans-serif%3B+text-indent%3A+0.4px%3B%22%3E%3Cspan+style%3D%22font-size%3A+10.0pt%3B%22%3Ez%3C%2Fspan%3E%3C%2Fli%3E%0A%3Cli+style%3D%22margin%3A+0cm+0cm+0cm+47.6px%3B+text-align%3A+justify%3B+line-height%3A+normal%3B+font-size%3A+11pt%3B+font-family%3A+Calibri%2C+sans-serif%3B+text-indent%3A+0.4px%3B%22%3E%3C%2Fli%3E%0A%3Cli+style%3D%22margin%3A+0cm+0cm+0cm+47.6px%3B+text-align%3A+justify%3B+line-height%3A+normal%3B+font-size%3A+11pt%3B+font-family%3A+Calibri%2C+sans-serif%3B+text-indent%3A+0.4px%3B%22%3E%3Cspan+style%3D%22font-size%3A+10.0pt%3B+color%3A+red%3B%22%3E+%3C%2Fspan%3E%3C%2Fli%3E%0A%3C%2Fol%3E'
   10     1        ASSIGN                                                   !1, '%2F%2Fli%5Bnot%28normalize-space%28%29%29%5D'
   12     2        NEW                                              $7      'DOMDocument'
          3        DO_FCALL                                      0          
          4        ASSIGN                                                   !2, $7
   13     5        INIT_METHOD_CALL                                         !2, 'loadHTML'
          6        SEND_VAR_EX                                              !0
          7        DO_FCALL                                      0          
   14     8        NEW                                              $11     'DOMXPath'
          9        SEND_VAR_EX                                              !2
         10        DO_FCALL                                      0          
         11        ASSIGN                                                   !3, $11
   15    12        INIT_METHOD_CALL                                         !3, 'query'
         13        SEND_VAR_EX                                              !1
         14        DO_FCALL                                      0  $14     
         15      > FE_RESET_R                                       $15     $14, ->22
         16    > > FE_FETCH_R                                               $15, !4, ->22
   16    17    >   FETCH_OBJ_R                                      ~16     !4, 'parentNode'
         18        INIT_METHOD_CALL                                         ~16, 'removeChild'
         19        SEND_VAR_EX                                              !4
         20        DO_FCALL                                      0          
   15    21      > JMP                                                      ->16
         22    >   FE_FREE                                                  $15
   19    23        INIT_METHOD_CALL                                         !2, 'saveHTML'
         24        INIT_METHOD_CALL                                         !3, 'query'
         25        SEND_VAL_EX                                              '%2F%2Fol'
         26        DO_FCALL                                      0  $18     
         27        INIT_METHOD_CALL                                         $18, 'item'
         28        SEND_VAL_EX                                              0
         29        DO_FCALL                                      0  $19     
         30        SEND_VAR_NO_REF_EX                                       $19
         31        DO_FCALL                                      0  $20     
         32        ECHO                                                     $20
         33      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
129.27 ms | 1012 KiB | 13 Q