3v4l.org

run code in 300+ PHP versions simultaneously
<?php $body = '<div class="cModule myphotos"> <h3><span>My photos</span></h3> <ul class="cResetList cThumbList clrfix"> <li> <a href="/projects/mysportsjam/index.php/joom-social/103-shine/photos/photo?albumid=12#photoid=67" hidefocus="true" style="outline: none;"><img class="cAvatar jomNameTips cAvatar-sidebar" title="Uploaded by shine s" src="http://107.20.167.165/projects/mysportsjam/images/photos/103/12/thumb_05c0beeb8f0f32a08538dad7.jpg" alt="shine s"></a> </li> <li> <a href="/projects/mysportsjam/index.php/joom-social/103-shine/photos/photo?albumid=12#photoid=43" hidefocus="true" style="outline: none;"><img class="cAvatar jomNameTips cAvatar-sidebar" src="http://107.20.167.165/projects/mysportsjam/images/photos/103/12/thumb_c122ff8dafd2edeba377a1cd.jpg" alt="shine s" original-title="Uploaded by shine s"></a> </li> <li> <a href="/projects/mysportsjam/index.php/joom-social/103-shine/photos/photo?albumid=12#photoid=66" hidefocus="true" style="outline: none;"><img class="cAvatar jomNameTips cAvatar-sidebar" title="Uploaded by shine s" src="http://107.20.167.165/projects/mysportsjam/images/photos/103/12/thumb_9414b5dff6c8644d197ff684.jpg" alt="shine s"></a> </li> </ul> <div class="app-box-footer"> <a href="/projects/mysportsjam/index.php/joom-social/103-shine/photos" hidefocus="true" style="outline: none;">View all photos</a> </div> </div>'; $xml = new DOMDocument(); $xml->loadHTML($body); $nodes = $xml->getElementsByTagName('li'); for($curr = 0; $curr < $nodes->length; $curr++) { $li = $nodes->item($curr); $innerHTML= ''; $children = $li->childNodes; foreach ($children as $child) { $innerHTML .= $child->ownerDocument->saveXML( $child ); } print $innerHTML; foreach($li->childNodes as $child) { $a = $child; if(is_a($a, "DOMElement")) { $href = $a->getAttribute('href'); print "{$href}\n"; } } print "\n"; }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 50
Branch analysis from position: 50
2 jumps found. (Code = 44) Position 1 = 53, Position 2 = 13
Branch analysis from position: 53
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
2 jumps found. (Code = 77) Position 1 = 21, Position 2 = 28
Branch analysis from position: 21
2 jumps found. (Code = 78) Position 1 = 22, Position 2 = 28
Branch analysis from position: 22
1 jumps found. (Code = 42) Position 1 = 21
Branch analysis from position: 21
Branch analysis from position: 28
2 jumps found. (Code = 77) Position 1 = 32, Position 2 = 47
Branch analysis from position: 32
2 jumps found. (Code = 78) Position 1 = 33, Position 2 = 47
Branch analysis from position: 33
2 jumps found. (Code = 43) Position 1 = 39, Position 2 = 46
Branch analysis from position: 39
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
Branch analysis from position: 46
Branch analysis from position: 47
2 jumps found. (Code = 44) Position 1 = 53, Position 2 = 13
Branch analysis from position: 53
Branch analysis from position: 13
Branch analysis from position: 47
Branch analysis from position: 28
filename:       /in/Yr5M1
function name:  (null)
number of ops:  54
compiled vars:  !0 = $body, !1 = $xml, !2 = $nodes, !3 = $curr, !4 = $li, !5 = $innerHTML, !6 = $children, !7 = $child, !8 = $a, !9 = $href
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%3Cdiv+class%3D%22cModule+myphotos%22%3E%0A%3Ch3%3E%3Cspan%3EMy+photos%3C%2Fspan%3E%3C%2Fh3%3E%0A+%3Cul+class%3D%22cResetList+cThumbList+clrfix%22%3E%0A+++++%3Cli%3E%0A++++++++++%3Ca+href%3D%22%2Fprojects%2Fmysportsjam%2Findex.php%2Fjoom-social%2F103-shine%2Fphotos%2Fphoto%3Falbumid%3D12%23photoid%3D67%22+hidefocus%3D%22true%22+style%3D%22outline%3A+none%3B%22%3E%3Cimg+class%3D%22cAvatar+jomNameTips+cAvatar-sidebar%22+title%3D%22Uploaded+by+shine+s%22+src%3D%22http%3A%2F%2F107.20.167.165%2Fprojects%2Fmysportsjam%2Fimages%2Fphotos%2F103%2F12%2Fthumb_05c0beeb8f0f32a08538dad7.jpg%22+alt%3D%22shine+s%22%3E%3C%2Fa%3E%0A++++%3C%2Fli%3E%0A%0A++++%3Cli%3E%0A++++%3Ca+href%3D%22%2Fprojects%2Fmysportsjam%2Findex.php%2Fjoom-social%2F103-shine%2Fphotos%2Fphoto%3Falbumid%3D12%23photoid%3D43%22+hidefocus%3D%22true%22+style%3D%22outline%3A+none%3B%22%3E%3Cimg+class%3D%22cAvatar+jomNameTips+cAvatar-sidebar%22+src%3D%22http%3A%2F%2F107.20.167.165%2Fprojects%2Fmysportsjam%2Fimages%2Fphotos%2F103%2F12%2Fthumb_c122ff8dafd2edeba377a1cd.jpg%22+alt%3D%22shine+s%22+original-title%3D%22Uploaded+by+shine+s%22%3E%3C%2Fa%3E%0A++++%3C%2Fli%3E%0A%0A++++%3Cli%3E%0A++++%3Ca+href%3D%22%2Fprojects%2Fmysportsjam%2Findex.php%2Fjoom-social%2F103-shine%2Fphotos%2Fphoto%3Falbumid%3D12%23photoid%3D66%22+hidefocus%3D%22true%22+style%3D%22outline%3A+none%3B%22%3E%3Cimg+class%3D%22cAvatar+jomNameTips+cAvatar-sidebar%22+title%3D%22Uploaded+by+shine+s%22+src%3D%22http%3A%2F%2F107.20.167.165%2Fprojects%2Fmysportsjam%2Fimages%2Fphotos%2F103%2F12%2Fthumb_9414b5dff6c8644d197ff684.jpg%22+alt%3D%22shine+s%22%3E%3C%2Fa%3E%0A++++%3C%2Fli%3E%0A++++++++++++%3C%2Ful%3E%0A%0A++++%3Cdiv+class%3D%22app-box-footer%22%3E%0A++++%3Ca+href%3D%22%2Fprojects%2Fmysportsjam%2Findex.php%2Fjoom-social%2F103-shine%2Fphotos%22+hidefocus%3D%22true%22+style%3D%22outline%3A+none%3B%22%3EView+all+photos%3C%2Fa%3E%0A%3C%2Fdiv%3E%0A++++%3C%2Fdiv%3E'
   24     1        NEW                                              $11     'DOMDocument'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !1, $11
   25     4        INIT_METHOD_CALL                                         !1, 'loadHTML'
          5        SEND_VAR_EX                                              !0
          6        DO_FCALL                                      0          
   27     7        INIT_METHOD_CALL                                         !1, 'getElementsByTagName'
          8        SEND_VAL_EX                                              'li'
          9        DO_FCALL                                      0  $15     
         10        ASSIGN                                                   !2, $15
   29    11        ASSIGN                                                   !3, 0
         12      > JMP                                                      ->50
   30    13    >   INIT_METHOD_CALL                                         !2, 'item'
         14        SEND_VAR_EX                                              !3
         15        DO_FCALL                                      0  $18     
         16        ASSIGN                                                   !4, $18
   32    17        ASSIGN                                                   !5, ''
   33    18        FETCH_OBJ_R                                      ~21     !4, 'childNodes'
         19        ASSIGN                                                   !6, ~21
   34    20      > FE_RESET_R                                       $23     !6, ->28
         21    > > FE_FETCH_R                                               $23, !7, ->28
   35    22    >   FETCH_OBJ_R                                      ~24     !7, 'ownerDocument'
         23        INIT_METHOD_CALL                                         ~24, 'saveXML'
         24        SEND_VAR_EX                                              !7
         25        DO_FCALL                                      0  $25     
         26        ASSIGN_OP                                     8          !5, $25
   34    27      > JMP                                                      ->21
         28    >   FE_FREE                                                  $23
   38    29        ECHO                                                     !5
   40    30        FETCH_OBJ_R                                      ~27     !4, 'childNodes'
         31      > FE_RESET_R                                       $28     ~27, ->47
         32    > > FE_FETCH_R                                               $28, !7, ->47
   41    33    >   ASSIGN                                                   !8, !7
   43    34        INIT_FCALL                                               'is_a'
         35        SEND_VAR                                                 !8
         36        SEND_VAL                                                 'DOMElement'
         37        DO_ICALL                                         $30     
         38      > JMPZ                                                     $30, ->46
   44    39    >   INIT_METHOD_CALL                                         !8, 'getAttribute'
         40        SEND_VAL_EX                                              'href'
         41        DO_FCALL                                      0  $31     
         42        ASSIGN                                                   !9, $31
   46    43        NOP                                                      
         44        FAST_CONCAT                                      ~33     !9, '%0A'
         45        ECHO                                                     ~33
   40    46    > > JMP                                                      ->32
         47    >   FE_FREE                                                  $28
   50    48        ECHO                                                     '%0A'
   29    49        PRE_INC                                                  !3
         50    >   FETCH_OBJ_R                                      ~35     !2, 'length'
         51        IS_SMALLER                                               !3, ~35
         52      > JMPNZ                                                    ~36, ->13
   51    53    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
156.59 ms | 1400 KiB | 15 Q