3v4l.org

run code in 300+ PHP versions simultaneously
<?php //Exemple of http://php.net/filters class l33t_filter extends php_user_filter { function filter($in, $out, &$consumed, $closing) { $common = ["a", "e", "s", "S", "A", "o", "O", "t", "l", "ph", "y", "H", "W", "M", "D", "V", "x"]; $leet = ["4", "3", "z", "Z", "4", "0", "0", "+", "1", "f", "j", "|-|", "\\/\\/", "|\\/|", "|)", "\\/", "><"]; while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = str_replace($common, $leet, $bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; } } stream_filter_register('l33t_filter', 'l33t_filter') or die('Failed to register filter Markdown'); file_put_contents('php://filter/l33t_filter/resource=php://output', 'Salut ça va?');
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 47) Position 1 = 5, Position 2 = 7
Branch analysis from position: 5
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Zpgr8
function name:  (null)
number of ops:  12
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   18     0  E >   INIT_FCALL                                               'stream_filter_register'
          1        SEND_VAL                                                 'l33t_filter'
          2        SEND_VAL                                                 'l33t_filter'
          3        DO_ICALL                                         $0      
          4      > JMPNZ_EX                                         ~1      $0, ->7
          5    > > EXIT                                                     'Failed+to+register+filter+Markdown'
          6*       BOOL                                             ~1      <true>
   20     7    >   INIT_FCALL                                               'file_put_contents'
          8        SEND_VAL                                                 'php%3A%2F%2Ffilter%2Fl33t_filter%2Fresource%3Dphp%3A%2F%2Foutput'
          9        SEND_VAL                                                 'Salut+%C3%A7a+va%3F'
         10        DO_ICALL                                                 
         11      > RETURN                                                   1

Class l33t_filter:
Function filter:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 21
Branch analysis from position: 21
2 jumps found. (Code = 44) Position 1 = 26, Position 2 = 7
Branch analysis from position: 26
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
2 jumps found. (Code = 44) Position 1 = 26, Position 2 = 7
Branch analysis from position: 26
Branch analysis from position: 7
filename:       /in/Zpgr8
function name:  filter
number of ops:  28
compiled vars:  !0 = $in, !1 = $out, !2 = $consumed, !3 = $closing, !4 = $common, !5 = $leet, !6 = $bucket
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
          3        RECV                                             !3      
    7     4        ASSIGN                                                   !4, <array>
    8     5        ASSIGN                                                   !5, <array>
   10     6      > JMP                                                      ->21
   11     7    >   INIT_FCALL                                               'str_replace'
          8        SEND_VAR                                                 !4
          9        SEND_VAR                                                 !5
         10        FETCH_OBJ_R                                      ~10     !6, 'data'
         11        SEND_VAL                                                 ~10
         12        DO_ICALL                                         $11     
         13        ASSIGN_OBJ                                               !6, 'data'
         14        OP_DATA                                                  $11
   12    15        FETCH_OBJ_R                                      ~12     !6, 'datalen'
         16        ASSIGN_OP                                     1          !2, ~12
   13    17        INIT_FCALL                                               'stream_bucket_append'
         18        SEND_VAR                                                 !1
         19        SEND_VAR                                                 !6
         20        DO_ICALL                                                 
   10    21    >   INIT_FCALL                                               'stream_bucket_make_writeable'
         22        SEND_VAR                                                 !0
         23        DO_ICALL                                         $15     
         24        ASSIGN                                           ~16     !6, $15
         25      > JMPNZ                                                    ~16, ->7
   15    26    > > RETURN                                                   2
   16    27*     > RETURN                                                   null

End of function filter

End of class l33t_filter.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
142.05 ms | 1405 KiB | 23 Q