3v4l.org

run code in 300+ PHP versions simultaneously
<?php $allowed_symbols = '[a-z0-9:;,!\'\s*.?()"-]'; echo (int)!preg_match("/$allowed_symbols/im", '@3'); //0 проверка отсуствия разрешенных символов echo (int)!preg_match("/^$allowed_symbols+$/i", "aaa\nb@bb\nccc"); //1 присуствуют недопустимые символы во всем тексте echo (int)!preg_match("/^$allowed_symbols+$/i", "a@aa\nbbb\nccc"); //1 присуствуют недопустимые символы во всем тексте echo (int)!preg_match("/^$allowed_symbols+$/im", "aaa\nb@bb\nccc"); //0 есть строка полностью из допустимых символов (aaa) echo (int)!preg_match("/^$allowed_symbols+$/im", "a@aa\nbbb\nccc"); //0 есть строка полностью из допустимых символов (bbb) echo (int)!preg_match_all("/^$allowed_symbols+$/i", "aaa\nb@bb\nccc", $match); //1 во всем тексте есть недопусимые символы echo (int)!preg_match_all("/^$allowed_symbols+$/im", "aaa\nb@bb\nccc", $match); //0 есть строки полностью из допустимых символов (aaa,ccc) echo preg_replace("/^$allowed_symbols+$/i", '<$0>' , "aaa\nb@bb\nccc", 1); //покажет что находит 2 пункт (1) echo preg_replace("/^$allowed_symbols+$/im", '<$0>' , "aaa\nb@bb\nccc", 1); //покажет что находит 4 пункт (0) echo '---'; echo (int)preg_match('/[^a-z0-9:;,!\'\s*.?()"-]/i', "aaa\nb@bb\nccc"); //1 лучше так проверять
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/u0P6X
function name:  (null)
number of ops:  101
compiled vars:  !0 = $allowed_symbols, !1 = $match
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '%5Ba-z0-9%3A%3B%2C%21%27%5Cs%2A.%3F%28%29%22-%5D'
    3     1        INIT_FCALL                                               'preg_match'
          2        ROPE_INIT                                     3  ~4      '%2F'
          3        ROPE_ADD                                      1  ~4      ~4, !0
          4        ROPE_END                                      2  ~3      ~4, '%2Fim'
          5        SEND_VAL                                                 ~3
          6        SEND_VAL                                                 '%403'
          7        DO_ICALL                                         $6      
          8        BOOL_NOT                                         ~7      $6
          9        CAST                                          4  ~8      ~7
         10        ECHO                                                     ~8
    4    11        INIT_FCALL                                               'preg_match'
         12        ROPE_INIT                                     3  ~10     '%2F%5E'
         13        ROPE_ADD                                      1  ~10     ~10, !0
         14        ROPE_END                                      2  ~9      ~10, '%2B%24%2Fi'
         15        SEND_VAL                                                 ~9
         16        SEND_VAL                                                 'aaa%0Ab%40bb%0Accc'
         17        DO_ICALL                                         $12     
         18        BOOL_NOT                                         ~13     $12
         19        CAST                                          4  ~14     ~13
         20        ECHO                                                     ~14
    5    21        INIT_FCALL                                               'preg_match'
         22        ROPE_INIT                                     3  ~16     '%2F%5E'
         23        ROPE_ADD                                      1  ~16     ~16, !0
         24        ROPE_END                                      2  ~15     ~16, '%2B%24%2Fi'
         25        SEND_VAL                                                 ~15
         26        SEND_VAL                                                 'a%40aa%0Abbb%0Accc'
         27        DO_ICALL                                         $18     
         28        BOOL_NOT                                         ~19     $18
         29        CAST                                          4  ~20     ~19
         30        ECHO                                                     ~20
    6    31        INIT_FCALL                                               'preg_match'
         32        ROPE_INIT                                     3  ~22     '%2F%5E'
         33        ROPE_ADD                                      1  ~22     ~22, !0
         34        ROPE_END                                      2  ~21     ~22, '%2B%24%2Fim'
         35        SEND_VAL                                                 ~21
         36        SEND_VAL                                                 'aaa%0Ab%40bb%0Accc'
         37        DO_ICALL                                         $24     
         38        BOOL_NOT                                         ~25     $24
         39        CAST                                          4  ~26     ~25
         40        ECHO                                                     ~26
    7    41        INIT_FCALL                                               'preg_match'
         42        ROPE_INIT                                     3  ~28     '%2F%5E'
         43        ROPE_ADD                                      1  ~28     ~28, !0
         44        ROPE_END                                      2  ~27     ~28, '%2B%24%2Fim'
         45        SEND_VAL                                                 ~27
         46        SEND_VAL                                                 'a%40aa%0Abbb%0Accc'
         47        DO_ICALL                                         $30     
         48        BOOL_NOT                                         ~31     $30
         49        CAST                                          4  ~32     ~31
         50        ECHO                                                     ~32
    8    51        INIT_FCALL                                               'preg_match_all'
         52        ROPE_INIT                                     3  ~34     '%2F%5E'
         53        ROPE_ADD                                      1  ~34     ~34, !0
         54        ROPE_END                                      2  ~33     ~34, '%2B%24%2Fi'
         55        SEND_VAL                                                 ~33
         56        SEND_VAL                                                 'aaa%0Ab%40bb%0Accc'
         57        SEND_REF                                                 !1
         58        DO_ICALL                                         $36     
         59        BOOL_NOT                                         ~37     $36
         60        CAST                                          4  ~38     ~37
         61        ECHO                                                     ~38
    9    62        INIT_FCALL                                               'preg_match_all'
         63        ROPE_INIT                                     3  ~40     '%2F%5E'
         64        ROPE_ADD                                      1  ~40     ~40, !0
         65        ROPE_END                                      2  ~39     ~40, '%2B%24%2Fim'
         66        SEND_VAL                                                 ~39
         67        SEND_VAL                                                 'aaa%0Ab%40bb%0Accc'
         68        SEND_REF                                                 !1
         69        DO_ICALL                                         $42     
         70        BOOL_NOT                                         ~43     $42
         71        CAST                                          4  ~44     ~43
         72        ECHO                                                     ~44
   10    73        INIT_FCALL                                               'preg_replace'
         74        ROPE_INIT                                     3  ~46     '%2F%5E'
         75        ROPE_ADD                                      1  ~46     ~46, !0
         76        ROPE_END                                      2  ~45     ~46, '%2B%24%2Fi'
         77        SEND_VAL                                                 ~45
         78        SEND_VAL                                                 '%3C%240%3E'
         79        SEND_VAL                                                 'aaa%0Ab%40bb%0Accc'
         80        SEND_VAL                                                 1
         81        DO_ICALL                                         $48     
         82        ECHO                                                     $48
   11    83        INIT_FCALL                                               'preg_replace'
         84        ROPE_INIT                                     3  ~50     '%2F%5E'
         85        ROPE_ADD                                      1  ~50     ~50, !0
         86        ROPE_END                                      2  ~49     ~50, '%2B%24%2Fim'
         87        SEND_VAL                                                 ~49
         88        SEND_VAL                                                 '%3C%240%3E'
         89        SEND_VAL                                                 'aaa%0Ab%40bb%0Accc'
         90        SEND_VAL                                                 1
         91        DO_ICALL                                         $52     
         92        ECHO                                                     $52
   12    93        ECHO                                                     '---'
   13    94        INIT_FCALL                                               'preg_match'
         95        SEND_VAL                                                 '%2F%5B%5Ea-z0-9%3A%3B%2C%21%27%5Cs%2A.%3F%28%29%22-%5D%2Fi'
         96        SEND_VAL                                                 'aaa%0Ab%40bb%0Accc'
         97        DO_ICALL                                         $53     
         98        CAST                                          4  ~54     $53
         99        ECHO                                                     ~54
        100      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
166.67 ms | 1404 KiB | 19 Q