3v4l.org

run code in 300+ PHP versions simultaneously
<?php // // () [] {} <> // // when not using them in the expression itself echo '(123) ', preg_match('(123)', "123"), "\n"; // when using them balanced echo '[[123]] ', preg_match('[[123]]', "1"), "\n"; // when using them unbalanced: <> which is rarely special echo '<1 < 2> ', preg_match('<1 < 2>', "1 < 2"), "\n"; // warning // must be escaped echo '<1 \< 2> ', preg_match('<1 \< 2>', "1 < 2"), "\n\n"; // when using them unbalanced: {} which is almost always special echo '{function [({]} ', preg_match('{function [({]}', "function () {"), "\n"; // warning // must be escaped even when it represents a literal character echo '{function [(\{]} ', preg_match('{function [(\{]}', "function () {"), "\n\n"; // // other plain symbols // echo '!1! ', preg_match('!1!', "1"), "\n"; echo '%1% ', preg_match('%1%', "1"), "\n"; echo '_1_ ', preg_match('_1_', "1"), "\n"; // // other symbols that can be special: # $ ^ * + | . ? // these will break your expression // echo '^^123$^ ', preg_match('^^123$^', "123"), "\n"; // warning echo '^\^123$^ ', preg_match('^\^123$^', "123"), "\n\n"; // no match (would match '^123' at the end of the string) echo '|(foo|bar|baz)| ', preg_match('|(foo|bar|baz)|', "foo"), "\n"; // warning echo '|(foo\|bar\|baz)| ', preg_match('|(foo\|bar\|baz)|', "foo"), "\n\n"; // no match (would match 'foo|bar|baz') // // beware: even - ' can be special // // - for a character set range echo '-[a-zA-Z]- ', preg_match('-[a-zA-Z]-', "m"), "\n"; // warning echo '-[a\-zA\-Z]- ', preg_match('-[a\-zA\-Z]-', "m"), "\n\n"; // no match (would match 'a' '-' 'z' 'A' 'Z') // ' for named subpatterns echo "'(?'alpha'[a-zA-Z])\k'alpha'' ", preg_match("'(?'alpha'[a-zA-Z])\k'alpha''", "mm"), "\n"; // warning about delimiter echo "'(?\'alpha\'[a-zA-Z])\k\'alpha\'' ", preg_match("'(?\'alpha\'[a-zA-Z])\k\'alpha\''", "mm"), "\n\n"; // warning about syntax
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/7IgoG
function name:  (null)
number of ops:  120
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   ECHO                                                     '%28123%29++'
          1        INIT_FCALL                                               'preg_match'
          2        SEND_VAL                                                 '%28123%29'
          3        SEND_VAL                                                 '123'
          4        DO_ICALL                                         $0      
          5        ECHO                                                     $0
          6        ECHO                                                     '%0A'
   11     7        ECHO                                                     '%5B%5B123%5D%5D++'
          8        INIT_FCALL                                               'preg_match'
          9        SEND_VAL                                                 '%5B%5B123%5D%5D'
         10        SEND_VAL                                                 '1'
         11        DO_ICALL                                         $1      
         12        ECHO                                                     $1
         13        ECHO                                                     '%0A'
   14    14        ECHO                                                     '%3C1+%3C+2%3E++'
         15        INIT_FCALL                                               'preg_match'
         16        SEND_VAL                                                 '%3C1+%3C+2%3E'
         17        SEND_VAL                                                 '1+%3C+2'
         18        DO_ICALL                                         $2      
         19        ECHO                                                     $2
         20        ECHO                                                     '%0A'
   16    21        ECHO                                                     '%3C1+%5C%3C+2%3E++'
         22        INIT_FCALL                                               'preg_match'
         23        SEND_VAL                                                 '%3C1+%5C%3C+2%3E'
         24        SEND_VAL                                                 '1+%3C+2'
         25        DO_ICALL                                         $3      
         26        ECHO                                                     $3
         27        ECHO                                                     '%0A%0A'
   19    28        ECHO                                                     '%7Bfunction+%5B%28%7B%5D%7D++'
         29        INIT_FCALL                                               'preg_match'
         30        SEND_VAL                                                 '%7Bfunction+%5B%28%7B%5D%7D'
         31        SEND_VAL                                                 'function+%28%29+%7B'
         32        DO_ICALL                                         $4      
         33        ECHO                                                     $4
         34        ECHO                                                     '%0A'
   21    35        ECHO                                                     '%7Bfunction+%5B%28%5C%7B%5D%7D++'
         36        INIT_FCALL                                               'preg_match'
         37        SEND_VAL                                                 '%7Bfunction+%5B%28%5C%7B%5D%7D'
         38        SEND_VAL                                                 'function+%28%29+%7B'
         39        DO_ICALL                                         $5      
         40        ECHO                                                     $5
         41        ECHO                                                     '%0A%0A'
   27    42        ECHO                                                     '%211%21++'
         43        INIT_FCALL                                               'preg_match'
         44        SEND_VAL                                                 '%211%21'
         45        SEND_VAL                                                 '1'
         46        DO_ICALL                                         $6      
         47        ECHO                                                     $6
         48        ECHO                                                     '%0A'
   28    49        ECHO                                                     '%251%25++'
         50        INIT_FCALL                                               'preg_match'
         51        SEND_VAL                                                 '%251%25'
         52        SEND_VAL                                                 '1'
         53        DO_ICALL                                         $7      
         54        ECHO                                                     $7
         55        ECHO                                                     '%0A'
   29    56        ECHO                                                     '_1_++'
         57        INIT_FCALL                                               'preg_match'
         58        SEND_VAL                                                 '_1_'
         59        SEND_VAL                                                 '1'
         60        DO_ICALL                                         $8      
         61        ECHO                                                     $8
         62        ECHO                                                     '%0A'
   36    63        ECHO                                                     '%5E%5E123%24%5E++'
         64        INIT_FCALL                                               'preg_match'
         65        SEND_VAL                                                 '%5E%5E123%24%5E'
         66        SEND_VAL                                                 '123'
         67        DO_ICALL                                         $9      
         68        ECHO                                                     $9
         69        ECHO                                                     '%0A'
   37    70        ECHO                                                     '%5E%5C%5E123%24%5E++'
         71        INIT_FCALL                                               'preg_match'
         72        SEND_VAL                                                 '%5E%5C%5E123%24%5E'
         73        SEND_VAL                                                 '123'
         74        DO_ICALL                                         $10     
         75        ECHO                                                     $10
         76        ECHO                                                     '%0A%0A'
   39    77        ECHO                                                     '%7C%28foo%7Cbar%7Cbaz%29%7C++'
         78        INIT_FCALL                                               'preg_match'
         79        SEND_VAL                                                 '%7C%28foo%7Cbar%7Cbaz%29%7C'
         80        SEND_VAL                                                 'foo'
         81        DO_ICALL                                         $11     
         82        ECHO                                                     $11
         83        ECHO                                                     '%0A'
   40    84        ECHO                                                     '%7C%28foo%5C%7Cbar%5C%7Cbaz%29%7C++'
         85        INIT_FCALL                                               'preg_match'
         86        SEND_VAL                                                 '%7C%28foo%5C%7Cbar%5C%7Cbaz%29%7C'
         87        SEND_VAL                                                 'foo'
         88        DO_ICALL                                         $12     
         89        ECHO                                                     $12
         90        ECHO                                                     '%0A%0A'
   47    91        ECHO                                                     '-%5Ba-zA-Z%5D-++'
         92        INIT_FCALL                                               'preg_match'
         93        SEND_VAL                                                 '-%5Ba-zA-Z%5D-'
         94        SEND_VAL                                                 'm'
         95        DO_ICALL                                         $13     
         96        ECHO                                                     $13
         97        ECHO                                                     '%0A'
   48    98        ECHO                                                     '-%5Ba%5C-zA%5C-Z%5D-++'
         99        INIT_FCALL                                               'preg_match'
        100        SEND_VAL                                                 '-%5Ba%5C-zA%5C-Z%5D-'
        101        SEND_VAL                                                 'm'
        102        DO_ICALL                                         $14     
        103        ECHO                                                     $14
        104        ECHO                                                     '%0A%0A'
   51   105        ECHO                                                     '%27%28%3F%27alpha%27%5Ba-zA-Z%5D%29%5Ck%27alpha%27%27++'
        106        INIT_FCALL                                               'preg_match'
        107        SEND_VAL                                                 '%27%28%3F%27alpha%27%5Ba-zA-Z%5D%29%5Ck%27alpha%27%27'
        108        SEND_VAL                                                 'mm'
        109        DO_ICALL                                         $15     
        110        ECHO                                                     $15
        111        ECHO                                                     '%0A'
   52   112        ECHO                                                     '%27%28%3F%5C%27alpha%5C%27%5Ba-zA-Z%5D%29%5Ck%5C%27alpha%5C%27%27++'
        113        INIT_FCALL                                               'preg_match'
        114        SEND_VAL                                                 '%27%28%3F%5C%27alpha%5C%27%5Ba-zA-Z%5D%29%5Ck%5C%27alpha%5C%27%27'
        115        SEND_VAL                                                 'mm'
        116        DO_ICALL                                         $16     
        117        ECHO                                                     $16
        118        ECHO                                                     '%0A%0A'
        119      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
151.49 ms | 1404 KiB | 15 Q