3v4l.org

run code in 300+ PHP versions simultaneously
<?php $result = "\xC2°Freen\x18 ew°\x90ɮ\x7F"; //$result="a\xC2"; //$result = preg_replace('~[\x{0000}-\x{000F}\x{007F}-\x{00a0}]~S', '', $result); echo iconv("UTF-8", "ISO-8859-1//IGNORE", $result); exit; $result = preg_replace('~[\x{0000}-\x{000F}\x{007F}-\x{00a0}]~', '?', $result); $string = "°Freen\x18 ew°\x90ɮ\x7F\xc2"; $string = preg_replace("#[\x09\x0A\x0D\x20-\x7E]#" ,"",$string); // ASCII $string = preg_replace("#[\xC2-\xDF][\x80-\xBF]#" ,"",$string); // non-overlong 2-byte $string = preg_replace("#\xE0[\xA0-\xBF][\x80-\xBF]#" ,"",$string); // excluding overlongs $string = preg_replace("#[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}#","",$string); // straight 3-byte $string = preg_replace("#\xED[\x80-\x9F][\x80-\xBF]#" ,"",$string); // excluding surrogates $string = preg_replace("#\xF0[\x90-\xBF][\x80-\xBF]{2}#","",$string); // planes 1-3 $string = preg_replace("#[\xF1-\xF3][\x80-\xBF]{3}#" ,"",$string); // planes 4-15 $string = preg_replace("#\xF4[\x80-\x8F][\x80-\xBF]{2}#","",$string); // plane 16 //reject overly long 2 byte sequences, as well as characters above U+10000 and replace with ? $result= preg_replace( '/[\xC2-\xDF]((?![\x80-\xBF])|[\x80-\xBF]{2,})/S', '', $result ); if($result == "\xC2") echo 'fuck'; echo $result;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 79) Position 1 = -2
filename:       /in/JL62D
function name:  (null)
number of ops:  74
compiled vars:  !0 = $result, !1 = $string
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '%C2%C2%B0Freen%18+ew%C2%B0%90%C9%AE%7F'
    7     1        INIT_FCALL_BY_NAME                                       'iconv'
          2        SEND_VAL_EX                                              'UTF-8'
          3        SEND_VAL_EX                                              'ISO-8859-1%2F%2FIGNORE'
          4        SEND_VAR_EX                                              !0
          5        DO_FCALL                                      0  $3      
          6        ECHO                                                     $3
    8     7      > EXIT                                                     
    9     8*       INIT_FCALL                                               'preg_replace'
          9*       SEND_VAL                                                 '%7E%5B%5Cx%7B0000%7D-%5Cx%7B000F%7D%5Cx%7B007F%7D-%5Cx%7B00a0%7D%5D%7E'
         10*       SEND_VAL                                                 '%3F'
         11*       SEND_VAR                                                 !0
         12*       DO_ICALL                                         $4      
         13*       ASSIGN                                                   !0, $4
   13    14*       ASSIGN                                                   !1, '%C2%B0Freen%18+ew%C2%B0%90%C9%AE%7F%C2'
   14    15*       INIT_FCALL                                               'preg_replace'
         16*       SEND_VAL                                                 '%23%5B%09%0A%0D+-%7E%5D%23'
         17*       SEND_VAL                                                 ''
         18*       SEND_VAR                                                 !1
         19*       DO_ICALL                                         $7      
         20*       ASSIGN                                                   !1, $7
   15    21*       INIT_FCALL                                               'preg_replace'
         22*       SEND_VAL                                                 '%23%5B%C2-%DF%5D%5B%80-%BF%5D%23'
         23*       SEND_VAL                                                 ''
         24*       SEND_VAR                                                 !1
         25*       DO_ICALL                                         $9      
         26*       ASSIGN                                                   !1, $9
   16    27*       INIT_FCALL                                               'preg_replace'
         28*       SEND_VAL                                                 '%23%E0%5B%A0-%BF%5D%5B%80-%BF%5D%23'
         29*       SEND_VAL                                                 ''
         30*       SEND_VAR                                                 !1
         31*       DO_ICALL                                         $11     
         32*       ASSIGN                                                   !1, $11
   17    33*       INIT_FCALL                                               'preg_replace'
         34*       SEND_VAL                                                 '%23%5B%E1-%EC%EE%EF%5D%5B%80-%BF%5D%7B2%7D%23'
         35*       SEND_VAL                                                 ''
         36*       SEND_VAR                                                 !1
         37*       DO_ICALL                                         $13     
         38*       ASSIGN                                                   !1, $13
   18    39*       INIT_FCALL                                               'preg_replace'
         40*       SEND_VAL                                                 '%23%ED%5B%80-%9F%5D%5B%80-%BF%5D%23'
         41*       SEND_VAL                                                 ''
         42*       SEND_VAR                                                 !1
         43*       DO_ICALL                                         $15     
         44*       ASSIGN                                                   !1, $15
   19    45*       INIT_FCALL                                               'preg_replace'
         46*       SEND_VAL                                                 '%23%F0%5B%90-%BF%5D%5B%80-%BF%5D%7B2%7D%23'
         47*       SEND_VAL                                                 ''
         48*       SEND_VAR                                                 !1
         49*       DO_ICALL                                         $17     
         50*       ASSIGN                                                   !1, $17
   20    51*       INIT_FCALL                                               'preg_replace'
         52*       SEND_VAL                                                 '%23%5B%F1-%F3%5D%5B%80-%BF%5D%7B3%7D%23'
         53*       SEND_VAL                                                 ''
         54*       SEND_VAR                                                 !1
         55*       DO_ICALL                                         $19     
         56*       ASSIGN                                                   !1, $19
   21    57*       INIT_FCALL                                               'preg_replace'
         58*       SEND_VAL                                                 '%23%F4%5B%80-%8F%5D%5B%80-%BF%5D%7B2%7D%23'
         59*       SEND_VAL                                                 ''
         60*       SEND_VAR                                                 !1
         61*       DO_ICALL                                         $21     
         62*       ASSIGN                                                   !1, $21
   24    63*       INIT_FCALL                                               'preg_replace'
   25    64*       SEND_VAL                                                 '%2F%5B%5CxC2-%5CxDF%5D%28%28%3F%21%5B%5Cx80-%5CxBF%5D%29%7C%5B%5Cx80-%5CxBF%5D%7B2%2C%7D%29%2FS'
   26    65*       SEND_VAL                                                 ''
         66*       SEND_VAR                                                 !0
         67*       DO_ICALL                                         $23     
   24    68*       ASSIGN                                                   !0, $23
   29    69*       IS_EQUAL                                                 !0, '%C2'
         70*       JMPZ                                                     ~25, ->72
   30    71*       ECHO                                                     'fuck'
   32    72*       ECHO                                                     !0
         73*     > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.29 ms | 1400 KiB | 15 Q