3v4l.org

run code in 300+ PHP versions simultaneously
<?php $etag = '"123-456\"789"'; $regex = '~(?:^|[\h,]+)(?:W/)?(")?(?(1)((?:[^"\\\\]|\\\\.)*(*MARK:Q))(?:"|\\\\|$)|([^,]*(*MARK:T)))~'; \preg_match_all($regex, $etag, $matches, \PREG_SET_ORDER); print_r($matches); echo \preg_replace('/\\\\(.)/', '$1', $matches[0][2]); var_dump(strpos($etag, '\\'));
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/FEQRX
function name:  (null)
number of ops:  27
compiled vars:  !0 = $etag, !1 = $regex, !2 = $matches
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%22123-456%5C%22789%22'
    5     1        ASSIGN                                                   !1, '%7E%28%3F%3A%5E%7C%5B%5Ch%2C%5D%2B%29%28%3F%3AW%2F%29%3F%28%22%29%3F%28%3F%281%29%28%28%3F%3A%5B%5E%22%5C%5C%5D%7C%5C%5C.%29%2A%28%2AMARK%3AQ%29%29%28%3F%3A%22%7C%5C%5C%7C%24%29%7C%28%5B%5E%2C%5D%2A%28%2AMARK%3AT%29%29%29%7E'
    7     2        INIT_FCALL                                               'preg_match_all'
          3        SEND_VAR                                                 !1
          4        SEND_VAR                                                 !0
          5        SEND_REF                                                 !2
          6        SEND_VAL                                                 2
          7        DO_ICALL                                                 
    9     8        INIT_FCALL                                               'print_r'
          9        SEND_VAR                                                 !2
         10        DO_ICALL                                                 
   11    11        INIT_FCALL                                               'preg_replace'
         12        SEND_VAL                                                 '%2F%5C%5C%28.%29%2F'
         13        SEND_VAL                                                 '%241'
         14        FETCH_DIM_R                                      ~7      !2, 0
         15        FETCH_DIM_R                                      ~8      ~7, 2
         16        SEND_VAL                                                 ~8
         17        DO_ICALL                                         $9      
         18        ECHO                                                     $9
   13    19        INIT_FCALL                                               'var_dump'
         20        INIT_FCALL                                               'strpos'
         21        SEND_VAR                                                 !0
         22        SEND_VAL                                                 '%5C'
         23        DO_ICALL                                         $10     
         24        SEND_VAR                                                 $10
         25        DO_ICALL                                                 
         26      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
162.57 ms | 1395 KiB | 23 Q