3v4l.org

run code in 300+ PHP versions simultaneously
<?php echo preg_match('/(\.(?!php))$/i','test.PHP')."\n"; echo preg_match('/(\.(?!(php|exe))$/i','test.php')."\n"; echo preg_match('/(\.(?!(php|exe))$/i','test.EXE')."\n"; echo preg_match('/(\.(?!(php|exe))$/i','test.exe')."\n"; echo preg_match('/(\.(?!(php|exe))$/i','test.zip')."\n"; echo preg_match('/(\.(?!(php|exe))$/i','test.ZIP')."\n"; echo preg_match('/(\.(?!(php|exe))$/i','test.ok')."\n";echo preg_match('/(\.(?!(php|\.exe))$/i','test.OK');
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/O4168
function name:  (null)
number of ops:  48
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'preg_match'
          1        SEND_VAL                                                 '%2F%28%5C.%28%3F%21php%29%29%24%2Fi'
          2        SEND_VAL                                                 'test.PHP'
          3        DO_ICALL                                         $0      
          4        CONCAT                                           ~1      $0, '%0A'
          5        ECHO                                                     ~1
    3     6        INIT_FCALL                                               'preg_match'
          7        SEND_VAL                                                 '%2F%28%5C.%28%3F%21%28php%7Cexe%29%29%24%2Fi'
          8        SEND_VAL                                                 'test.php'
          9        DO_ICALL                                         $2      
         10        CONCAT                                           ~3      $2, '%0A'
         11        ECHO                                                     ~3
    4    12        INIT_FCALL                                               'preg_match'
         13        SEND_VAL                                                 '%2F%28%5C.%28%3F%21%28php%7Cexe%29%29%24%2Fi'
         14        SEND_VAL                                                 'test.EXE'
         15        DO_ICALL                                         $4      
         16        CONCAT                                           ~5      $4, '%0A'
         17        ECHO                                                     ~5
    5    18        INIT_FCALL                                               'preg_match'
         19        SEND_VAL                                                 '%2F%28%5C.%28%3F%21%28php%7Cexe%29%29%24%2Fi'
         20        SEND_VAL                                                 'test.exe'
         21        DO_ICALL                                         $6      
         22        CONCAT                                           ~7      $6, '%0A'
         23        ECHO                                                     ~7
    6    24        INIT_FCALL                                               'preg_match'
         25        SEND_VAL                                                 '%2F%28%5C.%28%3F%21%28php%7Cexe%29%29%24%2Fi'
         26        SEND_VAL                                                 'test.zip'
         27        DO_ICALL                                         $8      
         28        CONCAT                                           ~9      $8, '%0A'
         29        ECHO                                                     ~9
    7    30        INIT_FCALL                                               'preg_match'
         31        SEND_VAL                                                 '%2F%28%5C.%28%3F%21%28php%7Cexe%29%29%24%2Fi'
         32        SEND_VAL                                                 'test.ZIP'
         33        DO_ICALL                                         $10     
         34        CONCAT                                           ~11     $10, '%0A'
         35        ECHO                                                     ~11
    8    36        INIT_FCALL                                               'preg_match'
         37        SEND_VAL                                                 '%2F%28%5C.%28%3F%21%28php%7Cexe%29%29%24%2Fi'
         38        SEND_VAL                                                 'test.ok'
         39        DO_ICALL                                         $12     
         40        CONCAT                                           ~13     $12, '%0A'
         41        ECHO                                                     ~13
         42        INIT_FCALL                                               'preg_match'
         43        SEND_VAL                                                 '%2F%28%5C.%28%3F%21%28php%7C%5C.exe%29%29%24%2Fi'
         44        SEND_VAL                                                 'test.OK'
         45        DO_ICALL                                         $14     
         46        ECHO                                                     $14
         47      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
163.85 ms | 1392 KiB | 15 Q