3v4l.org

run code in 300+ PHP versions simultaneously
<?php function isset2($value) { if ($value == "" || $value == " " || !isset($value)) { return false; } else { return true; } } function getHexnums($value) { // Maybe this function needs a bit of explaination: // With this, you can say as $value "255,255,255", and it returns array("255", "255", "255"). # URL that generated this code: # http://txt2re.com/index-php.php3?s=255,255,255&1&2&3&-19&-18 $re1='(\\d+)'; # Integer Number 1 $re2='(,)'; # Any Single Character 1 $re3='(\\d+)'; # Integer Number 2 $re4='(,)'; # Any Single Character 2 $re5='(\\d+)'; # Integer Number 3 if ($c=preg_match_all ("/".$re1.$re2.$re3.$re4.$re5."/is", $value, $matches)) { $int1=$matches[1][0]; $c1=$matches[2][0]; $int2=$matches[3][0]; $c2=$matches[4][0]; $int3=$matches[5][0]; } return "#" . dechex($int1) . dechex($int2) . $dechex($int3); } if (file_exists('php://stdin')) { $skinini = file_get_contents('php://stdin'); $iniconv = parse_ini_string($skinini); $themexml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <hexis> <theme version=\"1.0\"> <meta> <name>" . ((isset2($iniconv["Name"])) ? $iniconv["Name"] : "none") . "</name> <creator>" . ((isset2($iniconv["Author"])) ? $iniconv["Author"] : "none") . " (autoconverted by osu2hexis.thehowl.it)</creator> </meta> <cursor rotate=" . ((isset2($iniconv["CursorRotate"])) ? $iniconv["CursorRotate"] : "1") . " expand=" . ((isset2($iniconv["CursorExpand"])) ? $iniconv["CursorExpand"] : "1") . " color=\"#FFFFFF\"> <trail length=\"0\" color=\"#FFFFFF\" opacity=\"0\" /> </cursor> <playfield> <set> <color color=" . ((isset2($iniconv["Combo1"])) ? getHexnums($iniconv["Combo1"]) : "#FFFFFF") . " /> <color color=" . ((isset2($iniconv["Combo2"])) ? getHexnums($iniconv["Combo2"]) : "#FFFFFF") . " /> <color color=" . ((isset2($iniconv["Combo3"])) ? getHexnums($iniconv["Combo3"]) : "#FFFFFF") . " /> <color color=" . ((isset2($iniconv["Combo4"])) ? getHexnums($iniconv["Combo4"]) : "#FFFFFF") . " /> </set> <slider> <border color=" . ((isset2($iniconv["SliderBorder"])) ? getHexnums($iniconv["SliderBorder"]) : "#FFFFFF") . " /> <track override=\"1\" color=\"#000000\" /> <track " . ((isset2($iniconv["SliderTrackOverride"])) ? "override=\"1\" color=\"" . $iniconv["Combo1"] . "\"" : "override=\"0\" color=\"#000000\"") . " /> </slider> <font> <combo prefix=\"combo\" kerning=\"0\" /> <score prefix=\"score\" kerning=\"0\" /> </font> </playfield> </theme> </hexis>"; echo $themexml; } ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 141
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 20
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 21
Branch analysis from position: 21
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 31
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 39, Position 2 = 42
Branch analysis from position: 39
1 jumps found. (Code = 42) Position 1 = 43
Branch analysis from position: 43
2 jumps found. (Code = 43) Position 1 = 50, Position 2 = 53
Branch analysis from position: 50
1 jumps found. (Code = 42) Position 1 = 54
Branch analysis from position: 54
2 jumps found. (Code = 43) Position 1 = 61, Position 2 = 67
Branch analysis from position: 61
1 jumps found. (Code = 42) Position 1 = 68
Branch analysis from position: 68
2 jumps found. (Code = 43) Position 1 = 75, Position 2 = 81
Branch analysis from position: 75
1 jumps found. (Code = 42) Position 1 = 82
Branch analysis from position: 82
2 jumps found. (Code = 43) Position 1 = 89, Position 2 = 95
Branch analysis from position: 89
1 jumps found. (Code = 42) Position 1 = 96
Branch analysis from position: 96
2 jumps found. (Code = 43) Position 1 = 103, Position 2 = 109
Branch analysis from position: 103
1 jumps found. (Code = 42) Position 1 = 110
Branch analysis from position: 110
2 jumps found. (Code = 43) Position 1 = 117, Position 2 = 123
Branch analysis from position: 117
1 jumps found. (Code = 42) Position 1 = 124
Branch analysis from position: 124
2 jumps found. (Code = 43) Position 1 = 131, Position 2 = 136
Branch analysis from position: 131
1 jumps found. (Code = 42) Position 1 = 137
Branch analysis from position: 137
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 136
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 123
2 jumps found. (Code = 43) Position 1 = 131, Position 2 = 136
Branch analysis from position: 131
Branch analysis from position: 136
Branch analysis from position: 109
2 jumps found. (Code = 43) Position 1 = 117, Position 2 = 123
Branch analysis from position: 117
Branch analysis from position: 123
Branch analysis from position: 95
2 jumps found. (Code = 43) Position 1 = 103, Position 2 = 109
Branch analysis from position: 103
Branch analysis from position: 109
Branch analysis from position: 81
2 jumps found. (Code = 43) Position 1 = 89, Position 2 = 95
Branch analysis from position: 89
Branch analysis from position: 95
Branch analysis from position: 67
2 jumps found. (Code = 43) Position 1 = 75, Position 2 = 81
Branch analysis from position: 75
Branch analysis from position: 81
Branch analysis from position: 53
2 jumps found. (Code = 43) Position 1 = 61, Position 2 = 67
Branch analysis from position: 61
Branch analysis from position: 67
Branch analysis from position: 42
2 jumps found. (Code = 43) Position 1 = 50, Position 2 = 53
Branch analysis from position: 50
Branch analysis from position: 53
Branch analysis from position: 31
2 jumps found. (Code = 43) Position 1 = 39, Position 2 = 42
Branch analysis from position: 39
Branch analysis from position: 42
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 31
Branch analysis from position: 28
Branch analysis from position: 31
Branch analysis from position: 141
filename:       /in/N1ccD
function name:  (null)
number of ops:  142
compiled vars:  !0 = $skinini, !1 = $iniconv, !2 = $themexml
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   31     0  E >   INIT_FCALL                                               'file_exists'
          1        SEND_VAL                                                 'php%3A%2F%2Fstdin'
          2        DO_ICALL                                         $3      
          3      > JMPZ                                                     $3, ->141
   32     4    >   INIT_FCALL                                               'file_get_contents'
          5        SEND_VAL                                                 'php%3A%2F%2Fstdin'
          6        DO_ICALL                                         $4      
          7        ASSIGN                                                   !0, $4
   33     8        INIT_FCALL                                               'parse_ini_string'
          9        SEND_VAR                                                 !0
         10        DO_ICALL                                         $6      
         11        ASSIGN                                                   !1, $6
   38    12        INIT_FCALL                                               'isset2'
         13        FETCH_DIM_R                                      ~8      !1, 'Name'
         14        SEND_VAL                                                 ~8
         15        DO_FCALL                                      0  $9      
         16      > JMPZ                                                     $9, ->20
         17    >   FETCH_DIM_R                                      ~10     !1, 'Name'
         18        QM_ASSIGN                                        ~11     ~10
         19      > JMP                                                      ->21
         20    >   QM_ASSIGN                                        ~11     'none'
         21    >   CONCAT                                           ~12     '%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A++++%3Chexis%3E%0A++++%3Ctheme+version%3D%221.0%22%3E%0A++++%3Cmeta%3E%0A++++%3Cname%3E', ~11
         22        CONCAT                                           ~13     ~12, '%3C%2Fname%3E%0A++++%3Ccreator%3E'
   39    23        INIT_FCALL                                               'isset2'
         24        FETCH_DIM_R                                      ~14     !1, 'Author'
         25        SEND_VAL                                                 ~14
         26        DO_FCALL                                      0  $15     
         27      > JMPZ                                                     $15, ->31
         28    >   FETCH_DIM_R                                      ~16     !1, 'Author'
         29        QM_ASSIGN                                        ~17     ~16
         30      > JMP                                                      ->32
         31    >   QM_ASSIGN                                        ~17     'none'
         32    >   CONCAT                                           ~18     ~13, ~17
         33        CONCAT                                           ~19     ~18, '+%28autoconverted+by+osu2hexis.thehowl.it%29%3C%2Fcreator%3E%0A++++%3C%2Fmeta%3E%0A++++%3Ccursor+rotate%3D'
   41    34        INIT_FCALL                                               'isset2'
         35        FETCH_DIM_R                                      ~20     !1, 'CursorRotate'
         36        SEND_VAL                                                 ~20
         37        DO_FCALL                                      0  $21     
         38      > JMPZ                                                     $21, ->42
         39    >   FETCH_DIM_R                                      ~22     !1, 'CursorRotate'
         40        QM_ASSIGN                                        ~23     ~22
         41      > JMP                                                      ->43
         42    >   QM_ASSIGN                                        ~23     '1'
         43    >   CONCAT                                           ~24     ~19, ~23
         44        CONCAT                                           ~25     ~24, '+expand%3D'
         45        INIT_FCALL                                               'isset2'
         46        FETCH_DIM_R                                      ~26     !1, 'CursorExpand'
         47        SEND_VAL                                                 ~26
         48        DO_FCALL                                      0  $27     
         49      > JMPZ                                                     $27, ->53
         50    >   FETCH_DIM_R                                      ~28     !1, 'CursorExpand'
         51        QM_ASSIGN                                        ~29     ~28
         52      > JMP                                                      ->54
         53    >   QM_ASSIGN                                        ~29     '1'
         54    >   CONCAT                                           ~30     ~25, ~29
         55        CONCAT                                           ~31     ~30, '+color%3D%22%23FFFFFF%22%3E%0A++++%3Ctrail+length%3D%220%22+color%3D%22%23FFFFFF%22+opacity%3D%220%22+%2F%3E%0A++++%3C%2Fcursor%3E%0A+++++%0A++++%3Cplayfield%3E%0A++++%3Cset%3E%0A++++%3Ccolor+color%3D'
   47    56        INIT_FCALL                                               'isset2'
         57        FETCH_DIM_R                                      ~32     !1, 'Combo1'
         58        SEND_VAL                                                 ~32
         59        DO_FCALL                                      0  $33     
         60      > JMPZ                                                     $33, ->67
         61    >   INIT_FCALL                                               'gethexnums'
         62        FETCH_DIM_R                                      ~34     !1, 'Combo1'
         63        SEND_VAL                                                 ~34
         64        DO_FCALL                                      0  $35     
         65        QM_ASSIGN                                        ~36     $35
         66      > JMP                                                      ->68
         67    >   QM_ASSIGN                                        ~36     '%23FFFFFF'
         68    >   CONCAT                                           ~37     ~31, ~36
         69        CONCAT                                           ~38     ~37, '+%2F%3E%0A++++%3Ccolor+color%3D'
   48    70        INIT_FCALL                                               'isset2'
         71        FETCH_DIM_R                                      ~39     !1, 'Combo2'
         72        SEND_VAL                                                 ~39
         73        DO_FCALL                                      0  $40     
         74      > JMPZ                                                     $40, ->81
         75    >   INIT_FCALL                                               'gethexnums'
         76        FETCH_DIM_R                                      ~41     !1, 'Combo2'
         77        SEND_VAL                                                 ~41
         78        DO_FCALL                                      0  $42     
         79        QM_ASSIGN                                        ~43     $42
         80      > JMP                                                      ->82
         81    >   QM_ASSIGN                                        ~43     '%23FFFFFF'
         82    >   CONCAT                                           ~44     ~38, ~43
         83        CONCAT                                           ~45     ~44, '+%2F%3E%0A++++%3Ccolor+color%3D'
   49    84        INIT_FCALL                                               'isset2'
         85        FETCH_DIM_R                                      ~46     !1, 'Combo3'
         86        SEND_VAL                                                 ~46
         87        DO_FCALL                                      0  $47     
         88      > JMPZ                                                     $47, ->95
         89    >   INIT_FCALL                                               'gethexnums'
         90        FETCH_DIM_R                                      ~48     !1, 'Combo3'
         91        SEND_VAL                                                 ~48
         92        DO_FCALL                                      0  $49     
         93        QM_ASSIGN                                        ~50     $49
         94      > JMP                                                      ->96
         95    >   QM_ASSIGN                                        ~50     '%23FFFFFF'
         96    >   CONCAT                                           ~51     ~45, ~50
         97        CONCAT                                           ~52     ~51, '+%2F%3E%0A++++%3Ccolor+color%3D'
   50    98        INIT_FCALL                                               'isset2'
         99        FETCH_DIM_R                                      ~53     !1, 'Combo4'
        100        SEND_VAL                                                 ~53
        101        DO_FCALL                                      0  $54     
        102      > JMPZ                                                     $54, ->109
        103    >   INIT_FCALL                                               'gethexnums'
        104        FETCH_DIM_R                                      ~55     !1, 'Combo4'
        105        SEND_VAL                                                 ~55
        106        DO_FCALL                                      0  $56     
        107        QM_ASSIGN                                        ~57     $56
        108      > JMP                                                      ->110
        109    >   QM_ASSIGN                                        ~57     '%23FFFFFF'
        110    >   CONCAT                                           ~58     ~52, ~57
        111        CONCAT                                           ~59     ~58, '+%2F%3E%0A++++%3C%2Fset%3E%0A+++++%0A++++%3Cslider%3E%0A++++%3Cborder+color%3D'
   54   112        INIT_FCALL                                               'isset2'
        113        FETCH_DIM_R                                      ~60     !1, 'SliderBorder'
        114        SEND_VAL                                                 ~60
        115        DO_FCALL                                      0  $61     
        116      > JMPZ                                                     $61, ->123
        117    >   INIT_FCALL                                               'gethexnums'
        118        FETCH_DIM_R                                      ~62     !1, 'SliderBorder'
        119        SEND_VAL                                                 ~62
        120        DO_FCALL                                      0  $63     
        121        QM_ASSIGN                                        ~64     $63
        122      > JMP                                                      ->124
        123    >   QM_ASSIGN                                        ~64     '%23FFFFFF'
        124    >   CONCAT                                           ~65     ~59, ~64
        125        CONCAT                                           ~66     ~65, '+%2F%3E%0A++++%3Ctrack+override%3D%221%22+color%3D%22%23000000%22+%2F%3E%0A++++%3Ctrack+'
   56   126        INIT_FCALL                                               'isset2'
        127        FETCH_DIM_R                                      ~67     !1, 'SliderTrackOverride'
        128        SEND_VAL                                                 ~67
        129        DO_FCALL                                      0  $68     
        130      > JMPZ                                                     $68, ->136
        131    >   FETCH_DIM_R                                      ~69     !1, 'Combo1'
        132        CONCAT                                           ~70     'override%3D%221%22+color%3D%22', ~69
        133        CONCAT                                           ~71     ~70, '%22'
        134        QM_ASSIGN                                        ~72     ~71
        135      > JMP                                                      ->137
        136    >   QM_ASSIGN                                        ~72     'override%3D%220%22+color%3D%22%23000000%22'
        137    >   CONCAT                                           ~73     ~66, ~72
        138        CONCAT                                           ~74     ~73, '+%2F%3E%0A++++%3C%2Fslider%3E%0A+++++%0A++++%3Cfont%3E%0A++++%3Ccombo+prefix%3D%22combo%22+kerning%3D%220%22+%2F%3E%0A++++%3Cscore+prefix%3D%22score%22+kerning%3D%220%22+%2F%3E%0A++++%3C%2Ffont%3E%0A++++%3C%2Fplayfield%3E%0A++++%3C%2Ftheme%3E%0A++++%3C%2Fhexis%3E'
   34   139        ASSIGN                                                   !2, ~74
   66   140        ECHO                                                     !2
   68   141    > > RETURN                                                   1

Function isset2:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 47) Position 1 = 3, Position 2 = 5
Branch analysis from position: 3
2 jumps found. (Code = 47) Position 1 = 6, Position 2 = 9
Branch analysis from position: 6
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 12
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 9
Branch analysis from position: 5
filename:       /in/N1ccD
function name:  isset2
number of ops:  14
compiled vars:  !0 = $value
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   RECV                                             !0      
    3     1        IS_EQUAL                                         ~1      !0, ''
          2      > JMPNZ_EX                                         ~1      ~1, ->5
          3    >   IS_EQUAL                                         ~2      !0, '+'
          4        BOOL                                             ~1      ~2
          5    > > JMPNZ_EX                                         ~1      ~1, ->9
          6    >   ISSET_ISEMPTY_CV                                 ~3      !0
          7        BOOL_NOT                                         ~4      ~3
          8        BOOL                                             ~1      ~4
          9    > > JMPZ                                                     ~1, ->12
    4    10    > > RETURN                                                   <false>
         11*       JMP                                                      ->13
    7    12    > > RETURN                                                   <true>
    9    13*     > RETURN                                                   null

End of function isset2

Function gethexnums:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 19, Position 2 = 34
Branch analysis from position: 19
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 34
filename:       /in/N1ccD
function name:  getHexnums
number of ops:  48
compiled vars:  !0 = $value, !1 = $re1, !2 = $re2, !3 = $re3, !4 = $re4, !5 = $re5, !6 = $c, !7 = $matches, !8 = $int1, !9 = $c1, !10 = $int2, !11 = $c2, !12 = $int3, !13 = $dechex
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   10     0  E >   RECV                                             !0      
   16     1        ASSIGN                                                   !1, '%28%5Cd%2B%29'
   17     2        ASSIGN                                                   !2, '%28%2C%29'
   18     3        ASSIGN                                                   !3, '%28%5Cd%2B%29'
   19     4        ASSIGN                                                   !4, '%28%2C%29'
   20     5        ASSIGN                                                   !5, '%28%5Cd%2B%29'
   22     6        INIT_FCALL                                               'preg_match_all'
          7        CONCAT                                           ~19     '%2F', !1
          8        CONCAT                                           ~20     ~19, !2
          9        CONCAT                                           ~21     ~20, !3
         10        CONCAT                                           ~22     ~21, !4
         11        CONCAT                                           ~23     ~22, !5
         12        CONCAT                                           ~24     ~23, '%2Fis'
         13        SEND_VAL                                                 ~24
         14        SEND_VAR                                                 !0
         15        SEND_REF                                                 !7
         16        DO_ICALL                                         $25     
         17        ASSIGN                                           ~26     !6, $25
         18      > JMPZ                                                     ~26, ->34
   23    19    >   FETCH_DIM_R                                      ~27     !7, 1
         20        FETCH_DIM_R                                      ~28     ~27, 0
         21        ASSIGN                                                   !8, ~28
   24    22        FETCH_DIM_R                                      ~30     !7, 2
         23        FETCH_DIM_R                                      ~31     ~30, 0
         24        ASSIGN                                                   !9, ~31
   25    25        FETCH_DIM_R                                      ~33     !7, 3
         26        FETCH_DIM_R                                      ~34     ~33, 0
         27        ASSIGN                                                   !10, ~34
   26    28        FETCH_DIM_R                                      ~36     !7, 4
         29        FETCH_DIM_R                                      ~37     ~36, 0
         30        ASSIGN                                                   !11, ~37
   27    31        FETCH_DIM_R                                      ~39     !7, 5
         32        FETCH_DIM_R                                      ~40     ~39, 0
         33        ASSIGN                                                   !12, ~40
   29    34    >   INIT_FCALL                                               'dechex'
         35        SEND_VAR                                                 !8
         36        DO_ICALL                                         $42     
         37        CONCAT                                           ~43     '%23', $42
         38        INIT_FCALL                                               'dechex'
         39        SEND_VAR                                                 !10
         40        DO_ICALL                                         $44     
         41        CONCAT                                           ~45     ~43, $44
         42        INIT_DYNAMIC_CALL                                        !13
         43        SEND_VAR_EX                                              !12
         44        DO_FCALL                                      0  $46     
         45        CONCAT                                           ~47     ~45, $46
         46      > RETURN                                                   ~47
   30    47*     > RETURN                                                   null

End of function gethexnums

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
197.8 ms | 1419 KiB | 38 Q