3v4l.org

run code in 300+ PHP versions simultaneously
<?php $body = '£¥$@"\'.,;:_-=+*#%&<>?!¿¡§¤()ÄÖÑÜÉÅßÇÆΦΓΔΛΩΣΠΨΘØΞñüäòøàæåèéöùì{}[]|~^€'; $characters = array( 'Δ'=>'0xD0', 'Φ'=>'0xDE', 'Γ'=>'0xAC', 'Λ'=>'0xC2', 'Ω'=>'0xDB', 'Π'=>'0xBA', 'Ψ'=>'0xDD', 'Σ'=>'0xCA', 'Θ'=>'0xD4', 'Ξ'=>'0xB1', '¡'=>'0xA1', '£'=>'0xA3', '¤'=>'0xA4', '¥'=>'0xA5', '§'=>'0xA7', '¿'=>'0xBF', 'Ä'=>'0xC4', 'Å'=>'0xC5', 'Æ'=>'0xC6', 'Ç'=>'0xC7', 'É'=>'0xC9', 'Ñ'=>'0xD1', 'Ö'=>'0xD6', 'Ø'=>'0xD8', 'Ü'=>'0xDC', 'ß'=>'0xDF', 'à'=>'0xE0', 'ä'=>'0xE4', 'å'=>'0xE5', 'æ'=>'0xE6', 'è'=>'0xE8', 'é'=>'0xE9', 'ì'=>'0xEC', 'ñ'=>'0xF1', 'ò'=>'0xF2', 'ö'=>'0xF6', 'ø'=>'0xF8', 'ù'=>'0xF9', 'ü'=>'0xFC', ); $message = ''; if(mb_detect_encoding($body, 'UTF-8') != 'UTF-8') { $body = utf8_encode($body); } for ($i = 0; $i < mb_strlen($body, 'UTF-8'); $i++) { $c = mb_substr($body, $i, 1, 'UTF-8'); if (isset($characters[$c])) { $message .= chr(hex2dec($characters[$c])); } else { $message .= $c; } } echo $message;
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 13
Branch analysis from position: 9
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
2 jumps found. (Code = 44) Position 1 = 42, Position 2 = 15
Branch analysis from position: 42
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 24, Position 2 = 34
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 35
Branch analysis from position: 35
2 jumps found. (Code = 44) Position 1 = 42, Position 2 = 15
Branch analysis from position: 42
Branch analysis from position: 15
Branch analysis from position: 34
2 jumps found. (Code = 44) Position 1 = 42, Position 2 = 15
Branch analysis from position: 42
Branch analysis from position: 15
Branch analysis from position: 13
filename:       /in/pehtj
function name:  (null)
number of ops:  44
compiled vars:  !0 = $body, !1 = $characters, !2 = $message, !3 = $i, !4 = $c
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%C2%A3%C2%A5%24%40%22%27.%2C%3B%3A_-%3D%2B%2A%23%25%26%3C%3E%3F%21%C2%BF%C2%A1%C2%A7%C2%A4%28%29%C3%84%C3%96%C3%91%C3%9C%C3%89%C3%85%C3%9F%C3%87%C3%86%CE%A6%CE%93%CE%94%CE%9B%CE%A9%CE%A3%CE%A0%CE%A8%CE%98%C3%98%CE%9E%C3%B1%C3%BC%C3%A4%C3%B2%C3%B8%C3%A0%C3%A6%C3%A5%C3%A8%C3%A9%C3%B6%C3%B9%C3%AC%7B%7D%5B%5D%7C%7E%5E%E2%82%AC'
    5     1        ASSIGN                                                   !1, <array>
   17     2        ASSIGN                                                   !2, ''
   18     3        INIT_FCALL                                               'mb_detect_encoding'
          4        SEND_VAR                                                 !0
          5        SEND_VAL                                                 'UTF-8'
          6        DO_ICALL                                         $8      
          7        IS_NOT_EQUAL                                             $8, 'UTF-8'
          8      > JMPZ                                                     ~9, ->13
   19     9    >   INIT_FCALL                                               'utf8_encode'
         10        SEND_VAR                                                 !0
         11        DO_ICALL                                         $10     
         12        ASSIGN                                                   !0, $10
   21    13    >   ASSIGN                                                   !3, 0
         14      > JMP                                                      ->36
   22    15    >   INIT_FCALL                                               'mb_substr'
         16        SEND_VAR                                                 !0
         17        SEND_VAR                                                 !3
         18        SEND_VAL                                                 1
         19        SEND_VAL                                                 'UTF-8'
         20        DO_ICALL                                         $13     
         21        ASSIGN                                                   !4, $13
   23    22        ISSET_ISEMPTY_DIM_OBJ                         0          !1, !4
         23      > JMPZ                                                     ~15, ->34
   24    24    >   INIT_FCALL                                               'chr'
         25        INIT_FCALL_BY_NAME                                       'hex2dec'
         26        CHECK_FUNC_ARG                                           
         27        FETCH_DIM_FUNC_ARG                               $16     !1, !4
         28        SEND_FUNC_ARG                                            $16
         29        DO_FCALL                                      0  $17     
         30        SEND_VAR                                                 $17
         31        DO_ICALL                                         $18     
         32        ASSIGN_OP                                     8          !2, $18
         33      > JMP                                                      ->35
   26    34    >   ASSIGN_OP                                     8          !2, !4
   21    35    >   PRE_INC                                                  !3
         36    >   INIT_FCALL                                               'mb_strlen'
         37        SEND_VAR                                                 !0
         38        SEND_VAL                                                 'UTF-8'
         39        DO_ICALL                                         $22     
         40        IS_SMALLER                                               !3, $22
         41      > JMPNZ                                                    ~23, ->15
   30    42    >   ECHO                                                     !2
         43      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
176.77 ms | 1400 KiB | 23 Q