3v4l.org

run code in 500+ PHP versions simultaneously
<?php $input = <<<EOT <tr class="row0 row-hover"> <td class="column-0 "><?php _e('Data', 'domain'); ?> </td> <td class="column-0 ">USD</td> <td class="column-0 ">EUR</td> <td class="column-0 ">GBP</td> <td class="column-0 ">CAD</td> <td class="column-0 ">CHF</td> <td class="column-0 ">HKD</td> <td class="column-0 ">AUD</td> <td class="column-0 ">SGD</td> <td class="column-0 ">SEK</td> <td class="column-0 ">NOK</td> <td class="column-0 ">CNH</td> </tr> <tr class="row0 row-hover"> <td class="column-0 "><?php _e('Data', 'domain'); ?> </td> <td class="column-0 ">USD</td> <td class="column-0 ">EUR</td> <td class="column-0 ">GBP</td> <td class="column-0 ">CAD</td> <td class="column-0 ">CHF</td> <td class="column-0 ">HKD</td> <td class="column-0 ">AUD</td> <td class="column-0 ">SGD</td> <td class="column-0 ">SEK</td> <td class="column-0 ">NOK</td> <td class="column-0 ">CNH</td> </tr> EOT; $delimiter = '</tr>'; $content = substr($input, 0, strpos($input, $delimiter) + strlen($delimiter)); $output = str_replace("<td", "<th", $content); $output .= substr($input, strpos($input, $delimiter) + strlen($delimiter)); var_dump($output);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/0n9Af
function name:  (null)
number of ops:  20
compiled vars:  !0 = $input, !1 = $delimiter, !2 = $content, !3 = $output
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, '%3Ctr+class%3D%22row0+row-hover%22%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3E%3C%3Fphp+_e%28%27Data%27%2C+%27domain%27%29%3B+%3F%3E+%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3EUSD%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3EEUR%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3EGBP%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3ECAD%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3ECHF%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3EHKD%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3EAUD%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3ESGD%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3ESEK%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3ENOK%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3ECNH%3C%2Ftd%3E%0A++++++%3C%2Ftr%3E%0A%3Ctr+class%3D%22row0+row-hover%22%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3E%3C%3Fphp+_e%28%27Data%27%2C+%27domain%27%29%3B+%3F%3E+%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3EUSD%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3EEUR%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3EGBP%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3ECAD%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3ECHF%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3EHKD%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3EAUD%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3ESGD%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3ESEK%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3ENOK%3C%2Ftd%3E%0A++++++++%3Ctd+class%3D%22column-0+%22%3ECNH%3C%2Ftd%3E%0A++++++%3C%2Ftr%3E'
   35     1        ASSIGN                                                       !1, '%3C%2Ftr%3E'
   36     2        FRAMELESS_ICALL_2                strpos              ~6      !0, !1
          3        STRLEN                                               ~7      !1
          4        ADD                                                  ~8      ~6, ~7
          5        FRAMELESS_ICALL_3                substr              ~9      !0, 0
          6        OP_DATA                                                      ~8
          7        ASSIGN                                                       !2, ~9
   37     8        FRAMELESS_ICALL_3                str_replace         ~11     '%3Ctd', '%3Cth'
          9        OP_DATA                                                      !2
         10        ASSIGN                                                       !3, ~11
   38    11        FRAMELESS_ICALL_2                strpos              ~13     !0, !1
         12        STRLEN                                               ~14     !1
         13        ADD                                                  ~15     ~13, ~14
         14        FRAMELESS_ICALL_2                substr              ~16     !0, ~15
         15        ASSIGN_OP                                         8          !3, ~16
   40    16        INIT_FCALL                                                   'var_dump'
         17        SEND_VAR                                                     !3
         18        DO_ICALL                                                     
         19      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
159.87 ms | 2369 KiB | 20 Q