3v4l.org

run code in 300+ PHP versions simultaneously
<?php //Get the Audiomack URL if (!function_exists('samk_audio_audiomack')) { function samk_audio_audiomack($url, $width = '100%', $height = 250) { if($url!='') { $buff = ''; $buff .= "\n<!-- audiomack | {$plugin_data['name']} | {$plugin_data['url']} -->\n"; $embed_src = $url; $embed_ver_prefix = 'embed4'; // Check if the embedded source is song or album if(stripos($embed_src, '/song/') !== false) { //it is a song $embed_src = str_replace('/song/', "/$embed_ver_prefix-large/", $embed_src); }else{ //it is an album $height = 352; $embed_src = str_replace('/album/', "/$embed_ver_prefix-album/", $embed_src); } $height_str = "height='$height'"; $embed_code = "<iframe src='$embed_src' scrolling='no' width='$width' $height_str scrollbars='no' frameborder='0'></iframe>\n"; $buff .= "<div class='audiomack_player_container'>\n"; $buff .= $embed_code; $buff .= "</div> <!-- /audiomack_player_container -->\n"; $buff .= "\n<!-- /audiomack | {$plugin_data['name']} | {$plugin_data['url']} -->\n"; return $buff; } } } $audio_caller = samk_audio_audiomack('http://www.example.com'); echo $audio_caller;
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 6
Branch analysis from position: 5
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
filename:       /in/CuE0f
function name:  (null)
number of ops:  12
compiled vars:  !0 = $audio_caller
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   INIT_FCALL                                               'function_exists'
          1        SEND_VAL                                                 'samk_audio_audiomack'
          2        DO_ICALL                                         $1      
          3        BOOL_NOT                                         ~2      $1
          4      > JMPZ                                                     ~2, ->6
    5     5    >   DECLARE_FUNCTION                                         'samk_audio_audiomack'
   35     6    >   INIT_FCALL_BY_NAME                                       'samk_audio_audiomack'
          7        SEND_VAL_EX                                              'http%3A%2F%2Fwww.example.com'
          8        DO_FCALL                                      0  $3      
          9        ASSIGN                                                   !0, $3
   37    10        ECHO                                                     !0
         11      > RETURN                                                   1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 66
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 32
Branch analysis from position: 22
1 jumps found. (Code = 42) Position 1 = 42
Branch analysis from position: 42
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 32
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 66
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/CuE0f
function name:  samk_audio_audiomack
number of ops:  67
compiled vars:  !0 = $url, !1 = $width, !2 = $height, !3 = $buff, !4 = $plugin_data, !5 = $embed_src, !6 = $embed_ver_prefix, !7 = $height_str, !8 = $embed_code
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '100%25'
          2        RECV_INIT                                        !2      250
    6     3        IS_NOT_EQUAL                                             !0, ''
          4      > JMPZ                                                     ~9, ->66
    7     5    >   ASSIGN                                                   !3, ''
    8     6        ROPE_INIT                                     5  ~14     '%0A%3C%21--+audiomack+%7C+'
          7        FETCH_DIM_R                                      ~11     !4, 'name'
          8        ROPE_ADD                                      1  ~14     ~14, ~11
          9        ROPE_ADD                                      2  ~14     ~14, '+%7C+'
         10        FETCH_DIM_R                                      ~12     !4, 'url'
         11        ROPE_ADD                                      3  ~14     ~14, ~12
         12        ROPE_END                                      4  ~13     ~14, '+--%3E%0A'
         13        ASSIGN_OP                                     8          !3, ~13
   10    14        ASSIGN                                                   !5, !0
   11    15        ASSIGN                                                   !6, 'embed4'
   14    16        INIT_FCALL                                               'stripos'
         17        SEND_VAR                                                 !5
         18        SEND_VAL                                                 '%2Fsong%2F'
         19        DO_ICALL                                         $20     
         20        TYPE_CHECK                                  1018          $20
         21      > JMPZ                                                     ~21, ->32
   15    22    >   INIT_FCALL                                               'str_replace'
         23        SEND_VAL                                                 '%2Fsong%2F'
         24        ROPE_INIT                                     3  ~23     '%2F'
         25        ROPE_ADD                                      1  ~23     ~23, !6
         26        ROPE_END                                      2  ~22     ~23, '-large%2F'
         27        SEND_VAL                                                 ~22
         28        SEND_VAR                                                 !5
         29        DO_ICALL                                         $25     
         30        ASSIGN                                                   !5, $25
   14    31      > JMP                                                      ->42
   17    32    >   ASSIGN                                                   !2, 352
   18    33        INIT_FCALL                                               'str_replace'
         34        SEND_VAL                                                 '%2Falbum%2F'
         35        ROPE_INIT                                     3  ~29     '%2F'
         36        ROPE_ADD                                      1  ~29     ~29, !6
         37        ROPE_END                                      2  ~28     ~29, '-album%2F'
         38        SEND_VAL                                                 ~28
         39        SEND_VAR                                                 !5
         40        DO_ICALL                                         $31     
         41        ASSIGN                                                   !5, $31
   21    42    >   ROPE_INIT                                     3  ~34     'height%3D%27'
         43        ROPE_ADD                                      1  ~34     ~34, !2
         44        ROPE_END                                      2  ~33     ~34, '%27'
         45        ASSIGN                                                   !7, ~33
   22    46        ROPE_INIT                                     7  ~38     '%3Ciframe+src%3D%27'
         47        ROPE_ADD                                      1  ~38     ~38, !5
         48        ROPE_ADD                                      2  ~38     ~38, '%27+scrolling%3D%27no%27+width%3D%27'
         49        ROPE_ADD                                      3  ~38     ~38, !1
         50        ROPE_ADD                                      4  ~38     ~38, '%27+'
         51        ROPE_ADD                                      5  ~38     ~38, !7
         52        ROPE_END                                      6  ~37     ~38, '+scrollbars%3D%27no%27+frameborder%3D%270%27%3E%3C%2Fiframe%3E%0A'
         53        ASSIGN                                                   !8, ~37
   24    54        ASSIGN_OP                                     8          !3, '%3Cdiv+class%3D%27audiomack_player_container%27%3E%0A'
   25    55        ASSIGN_OP                                     8          !3, !8
   26    56        ASSIGN_OP                                     8          !3, '%3C%2Fdiv%3E+%3C%21--+%2Faudiomack_player_container+--%3E%0A'
   28    57        ROPE_INIT                                     5  ~49     '%0A%3C%21--+%2Faudiomack+%7C+'
         58        FETCH_DIM_R                                      ~46     !4, 'name'
         59        ROPE_ADD                                      1  ~49     ~49, ~46
         60        ROPE_ADD                                      2  ~49     ~49, '+%7C+'
         61        FETCH_DIM_R                                      ~47     !4, 'url'
         62        ROPE_ADD                                      3  ~49     ~49, ~47
         63        ROPE_END                                      4  ~48     ~49, '+--%3E%0A'
         64        ASSIGN_OP                                     8          !3, ~48
   30    65      > RETURN                                                   !3
   32    66    > > RETURN                                                   null

End of Dynamic Function 0

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
139.32 ms | 1011 KiB | 16 Q