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; } } } ?> <?php $audiomack_audio = 'www.example.com'; if($audiomack_audio!='') { $audiomack_audio_code = samk_audio_audiomack($audiomack_audio,'100%',250); ?> <div class="audio-container sermon-tabs" id="audiomack_audio"> <?php echo $audiomack_audio_code; ?> </div> <?php } ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 6
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 19
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 19
Branch analysis from position: 6
filename:       /in/Gss4Q
function name:  (null)
number of ops:  20
compiled vars:  !0 = $audiomack_audio, !1 = $audiomack_audio_code
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                                         $2      
          3        BOOL_NOT                                         ~3      $2
          4      > JMPZ                                                     ~3, ->6
    5     5    >   DECLARE_FUNCTION                                         'samk_audio_audiomack'
   35     6    >   ECHO                                                     '%0A%0A%0A++++'
   39     7        ASSIGN                                                   !0, 'www.example.com'
   40     8        IS_NOT_EQUAL                                             !0, ''
          9      > JMPZ                                                     ~5, ->19
   41    10    >   INIT_FCALL_BY_NAME                                       'samk_audio_audiomack'
         11        SEND_VAR_EX                                              !0
         12        SEND_VAL_EX                                              '100%25'
         13        SEND_VAL_EX                                              250
         14        DO_FCALL                                      0  $6      
         15        ASSIGN                                                   !1, $6
   42    16        ECHO                                                     '%0A++++++++++++%3Cdiv+class%3D%22audio-container+sermon-tabs%22+id%3D%22audiomack_audio%22%3E%0A%0A++++++++++++'
   45    17        ECHO                                                     !1
   46    18        ECHO                                                     '%0A++++++++++++%3C%2Fdiv%3E%0A++++'
   48    19    > > 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/Gss4Q
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.99 ms | 1011 KiB | 16 Q