3v4l.org

run code in 300+ PHP versions simultaneously
<?php $rx = "^.+(?:@\..+)? $"; $ip = '8.8.8.8'; $mary = 'mary@'.$ip; $g = 'google.com:80/test?abc=123#a1'; $c = 'john:smith@8.8.8.8:80/test?abc=123#a1'; preg_match("/$rx/",$ip,$matches); echo $matches[0],"\n"; preg_match("/$rx/",$mary,$matches); echo $matches[0],"\n"; preg_match("/$rx/",$g,$matches); echo $matches[0],"\n"; preg_match("/$rx/",$c,$matches); echo $matches[0];
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/XnSHP
function name:  (null)
number of ops:  50
compiled vars:  !0 = $rx, !1 = $ip, !2 = $mary, !3 = $g, !4 = $c, !5 = $matches
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '%5E.%2B%28%3F%3A%40%5C..%2B%29%3F+%24'
    3     1        ASSIGN                                                   !1, '8.8.8.8'
    5     2        CONCAT                                           ~8      'mary%40', !1
          3        ASSIGN                                                   !2, ~8
    6     4        ASSIGN                                                   !3, 'google.com%3A80%2Ftest%3Fabc%3D123%23a1'
    7     5        ASSIGN                                                   !4, 'john%3Asmith%408.8.8.8%3A80%2Ftest%3Fabc%3D123%23a1'
    9     6        INIT_FCALL                                               'preg_match'
          7        ROPE_INIT                                     3  ~13     '%2F'
          8        ROPE_ADD                                      1  ~13     ~13, !0
          9        ROPE_END                                      2  ~12     ~13, '%2F'
         10        SEND_VAL                                                 ~12
         11        SEND_VAR                                                 !1
         12        SEND_REF                                                 !5
         13        DO_ICALL                                                 
   10    14        FETCH_DIM_R                                      ~16     !5, 0
         15        ECHO                                                     ~16
         16        ECHO                                                     '%0A'
   12    17        INIT_FCALL                                               'preg_match'
         18        ROPE_INIT                                     3  ~18     '%2F'
         19        ROPE_ADD                                      1  ~18     ~18, !0
         20        ROPE_END                                      2  ~17     ~18, '%2F'
         21        SEND_VAL                                                 ~17
         22        SEND_VAR                                                 !2
         23        SEND_REF                                                 !5
         24        DO_ICALL                                                 
   14    25        FETCH_DIM_R                                      ~21     !5, 0
         26        ECHO                                                     ~21
         27        ECHO                                                     '%0A'
   16    28        INIT_FCALL                                               'preg_match'
         29        ROPE_INIT                                     3  ~23     '%2F'
         30        ROPE_ADD                                      1  ~23     ~23, !0
         31        ROPE_END                                      2  ~22     ~23, '%2F'
         32        SEND_VAL                                                 ~22
         33        SEND_VAR                                                 !3
         34        SEND_REF                                                 !5
         35        DO_ICALL                                                 
   18    36        FETCH_DIM_R                                      ~26     !5, 0
         37        ECHO                                                     ~26
         38        ECHO                                                     '%0A'
   20    39        INIT_FCALL                                               'preg_match'
         40        ROPE_INIT                                     3  ~28     '%2F'
         41        ROPE_ADD                                      1  ~28     ~28, !0
         42        ROPE_END                                      2  ~27     ~28, '%2F'
         43        SEND_VAL                                                 ~27
         44        SEND_VAR                                                 !4
         45        SEND_REF                                                 !5
         46        DO_ICALL                                                 
   21    47        FETCH_DIM_R                                      ~31     !5, 0
         48        ECHO                                                     ~31
         49      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
166.38 ms | 1405 KiB | 15 Q