3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = '<img title="How to" alt="How to" src="windows_en.jpg" loading="lazy" width="1280" height="720" class="img-first">'; $doc = new DOMDocument(); $doc->loadHTML($html); $imgs = $doc->getElementsByTagName('img'); foreach($imgs as $img){ $dom2 = new DOMDocument('1.0', 'utf-8'); $element = $dom2->createElement('img'); $domAttribute = $dom2->createAttribute('src'); $domAttribute->value = $img->getAttribute('src'); $element->appendChild($domAttribute); $dom2->appendChild($element); $domAttribute = $dom2->createAttribute('alt'); $domAttribute->value = $img->getAttribute('alt'); $element->appendChild($domAttribute); $dom2->appendChild($element); echo $dom2->savehtml(); }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 12, Position 2 = 56
Branch analysis from position: 12
2 jumps found. (Code = 78) Position 1 = 13, Position 2 = 56
Branch analysis from position: 13
1 jumps found. (Code = 42) Position 1 = 12
Branch analysis from position: 12
Branch analysis from position: 56
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 56
filename:       /in/e2Xa1
function name:  (null)
number of ops:  58
compiled vars:  !0 = $html, !1 = $doc, !2 = $imgs, !3 = $img, !4 = $dom2, !5 = $element, !6 = $domAttribute
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '%3Cimg+title%3D%22How+to%22+alt%3D%22How+to%22+src%3D%22windows_en.jpg%22+loading%3D%22lazy%22+width%3D%221280%22+height%3D%22720%22+class%3D%22img-first%22%3E'
    3     1        NEW                                              $8      'DOMDocument'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !1, $8
    4     4        INIT_METHOD_CALL                                         !1, 'loadHTML'
          5        SEND_VAR_EX                                              !0
          6        DO_FCALL                                      0          
    5     7        INIT_METHOD_CALL                                         !1, 'getElementsByTagName'
          8        SEND_VAL_EX                                              'img'
          9        DO_FCALL                                      0  $12     
         10        ASSIGN                                                   !2, $12
    6    11      > FE_RESET_R                                       $14     !2, ->56
         12    > > FE_FETCH_R                                               $14, !3, ->56
    7    13    >   NEW                                              $15     'DOMDocument'
         14        SEND_VAL_EX                                              '1.0'
         15        SEND_VAL_EX                                              'utf-8'
         16        DO_FCALL                                      0          
         17        ASSIGN                                                   !4, $15
    8    18        INIT_METHOD_CALL                                         !4, 'createElement'
         19        SEND_VAL_EX                                              'img'
         20        DO_FCALL                                      0  $18     
         21        ASSIGN                                                   !5, $18
    9    22        INIT_METHOD_CALL                                         !4, 'createAttribute'
         23        SEND_VAL_EX                                              'src'
         24        DO_FCALL                                      0  $20     
         25        ASSIGN                                                   !6, $20
   10    26        INIT_METHOD_CALL                                         !3, 'getAttribute'
         27        SEND_VAL_EX                                              'src'
         28        DO_FCALL                                      0  $23     
         29        ASSIGN_OBJ                                               !6, 'value'
         30        OP_DATA                                                  $23
   11    31        INIT_METHOD_CALL                                         !5, 'appendChild'
         32        SEND_VAR_EX                                              !6
         33        DO_FCALL                                      0          
   12    34        INIT_METHOD_CALL                                         !4, 'appendChild'
         35        SEND_VAR_EX                                              !5
         36        DO_FCALL                                      0          
   13    37        INIT_METHOD_CALL                                         !4, 'createAttribute'
         38        SEND_VAL_EX                                              'alt'
         39        DO_FCALL                                      0  $26     
         40        ASSIGN                                                   !6, $26
   14    41        INIT_METHOD_CALL                                         !3, 'getAttribute'
         42        SEND_VAL_EX                                              'alt'
         43        DO_FCALL                                      0  $29     
         44        ASSIGN_OBJ                                               !6, 'value'
         45        OP_DATA                                                  $29
   15    46        INIT_METHOD_CALL                                         !5, 'appendChild'
         47        SEND_VAR_EX                                              !6
         48        DO_FCALL                                      0          
   16    49        INIT_METHOD_CALL                                         !4, 'appendChild'
         50        SEND_VAR_EX                                              !5
         51        DO_FCALL                                      0          
   17    52        INIT_METHOD_CALL                                         !4, 'savehtml'
         53        DO_FCALL                                      0  $32     
         54        ECHO                                                     $32
    6    55      > JMP                                                      ->12
         56    >   FE_FREE                                                  $14
   18    57      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
153.05 ms | 1012 KiB | 13 Q