3v4l.org

run code in 300+ PHP versions simultaneously
<?php $content = '<p><img src="images/Selection_004.png" alt="" width="199" height="120" /><img src="images/Selection_005.png" alt="" width="199" height="120" /></p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae diam turpis. Integer fermentum metus lorem, faucibus tincidunt magna vestibulum eget. Curabitur laoreet rhoncus tellus et imperdiet. Duis dignissim, arcu eget ultrices imperdiet, urna arcu finibus enim, quis mattis nisl mauris eget erat. Etiam lectus lacus, faucibus quis erat sed, sollicitudin aliquet mi. Fusce tempus dui urna. Donec tristique, augue at molestie malesuada, nisl enim malesuada diam, at tincidunt sapien metus id enim. Fusce risus ipsum, molestie malesuada suscipit ut, imperdiet ac libero. Quisque fermentum purus quam, nec dapibus dolor tempus tempus. Vivamus dolor dui, tincidunt eu ornare eu, sollicitudin ac risus. Ut consectetur ut enim at maximus. Phasellus consequat pretium arcu. Aenean gravida finibus vestibulum. Donec mollis augue felis, a euismod quam mattis blandit. Cras auctor nisi a venenatis viverra. Morbi libero magna, feugiat in libero non, ornare tempus mi.</p> <p> </p>'; $img_pattern = '#<(img|a)(.*?)(src|href)="(.*?)"(.*?)>#s'; preg_match_all($img_pattern, $content, $matches); foreach($matches[0] as $match){ $content_image = $match[4]; } print_r($content_image);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 9, Position 2 = 13
Branch analysis from position: 9
2 jumps found. (Code = 78) Position 1 = 10, Position 2 = 13
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
filename:       /in/I5XeB
function name:  (null)
number of ops:  18
compiled vars:  !0 = $content, !1 = $img_pattern, !2 = $matches, !3 = $match, !4 = $content_image
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%3Cp%3E%3Cimg+src%3D%22images%2FSelection_004.png%22+alt%3D%22%22+width%3D%22199%22+height%3D%22120%22+%2F%3E%3Cimg+src%3D%22images%2FSelection_005.png%22+alt%3D%22%22+width%3D%22199%22+height%3D%22120%22+%2F%3E%3C%2Fp%3E%0A%3Cp%3ELorem+ipsum+dolor+sit+amet%2C+consectetur+adipiscing+elit.+Donec+vitae+diam+turpis.+Integer+fermentum+metus+lorem%2C+faucibus+tincidunt+magna+vestibulum+eget.+Curabitur+laoreet+rhoncus+tellus+et+imperdiet.+Duis+dignissim%2C+arcu+eget+ultrices+imperdiet%2C+urna+arcu+finibus+enim%2C+quis+mattis+nisl+mauris+eget+erat.+Etiam+lectus+lacus%2C+faucibus+quis+erat+sed%2C+sollicitudin+aliquet+mi.+Fusce+tempus+dui+urna.+Donec+tristique%2C+augue+at+molestie+malesuada%2C+nisl+enim+malesuada+diam%2C+at+tincidunt+sapien+metus+id+enim.+Fusce+risus+ipsum%2C+molestie+malesuada+suscipit+ut%2C+imperdiet+ac+libero.+Quisque+fermentum+purus+quam%2C+nec+dapibus+dolor+tempus+tempus.+Vivamus+dolor+dui%2C+tincidunt+eu+ornare+eu%2C+sollicitudin+ac+risus.+Ut+consectetur+ut+enim+at+maximus.+Phasellus+consequat+pretium+arcu.+Aenean+gravida+finibus+vestibulum.+Donec+mollis+augue+felis%2C+a+euismod+quam+mattis+blandit.+Cras+auctor+nisi+a+venenatis+viverra.+Morbi+libero+magna%2C+feugiat+in+libero+non%2C+ornare+tempus+mi.%3C%2Fp%3E%0A%3Cp%3E%C2%A0%3C%2Fp%3E'
    9     1        ASSIGN                                                   !1, '%23%3C%28img%7Ca%29%28.%2A%3F%29%28src%7Chref%29%3D%22%28.%2A%3F%29%22%28.%2A%3F%29%3E%23s'
   10     2        INIT_FCALL                                               'preg_match_all'
          3        SEND_VAR                                                 !1
          4        SEND_VAR                                                 !0
          5        SEND_REF                                                 !2
          6        DO_ICALL                                                 
   12     7        FETCH_DIM_R                                      ~8      !2, 0
          8      > FE_RESET_R                                       $9      ~8, ->13
          9    > > FE_FETCH_R                                               $9, !3, ->13
   13    10    >   FETCH_DIM_R                                      ~10     !3, 4
         11        ASSIGN                                                   !4, ~10
   12    12      > JMP                                                      ->9
         13    >   FE_FREE                                                  $9
   15    14        INIT_FCALL                                               'print_r'
         15        SEND_VAR                                                 !4
         16        DO_ICALL                                                 
         17      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
176.33 ms | 1396 KiB | 17 Q