3v4l.org

run code in 300+ PHP versions simultaneously
<?php function compileEchoes($value){ $value = preg_replace ('/\{\{\{\s*(.+?)\s*\}\}\}/s', '<?php echo $1; ?>', $value); return preg_replace ('/\{\{\s*(.+?)\s*\}\}/s', "<?php echo htmlentities($1, ENT_QUOTES, 'UTF-8', false); ?>", $value); } $unescaped = compileEchoes('{{{<strong>Is this bold?</strong>}}}'); echo "<strong>Is this bold?</strong>"; echo $unescaped; echo "\n"; $that = compileEchoes('{{<strong>Is this bold?</strong>}}'); echo $that; echo "\n"; echo htmlentities('<strong>Is this bold?</strong>', ENT_QUOTES, 'UTF-8', false); ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/BUaJC
function name:  (null)
number of ops:  21
compiled vars:  !0 = $unescaped, !1 = $that
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    6     0  E >   INIT_FCALL                                               'compileechoes'
          1        SEND_VAL                                                 '%7B%7B%7B%3Cstrong%3EIs+this+bold%3F%3C%2Fstrong%3E%7D%7D%7D'
          2        DO_FCALL                                      0  $2      
          3        ASSIGN                                                   !0, $2
    7     4        ECHO                                                     '%3Cstrong%3EIs+this+bold%3F%3C%2Fstrong%3E'
    8     5        ECHO                                                     !0
    9     6        ECHO                                                     '%0A'
   10     7        INIT_FCALL                                               'compileechoes'
          8        SEND_VAL                                                 '%7B%7B%3Cstrong%3EIs+this+bold%3F%3C%2Fstrong%3E%7D%7D'
          9        DO_FCALL                                      0  $4      
         10        ASSIGN                                                   !1, $4
   11    11        ECHO                                                     !1
   12    12        ECHO                                                     '%0A'
   13    13        INIT_FCALL                                               'htmlentities'
         14        SEND_VAL                                                 '%3Cstrong%3EIs+this+bold%3F%3C%2Fstrong%3E'
         15        SEND_VAL                                                 3
         16        SEND_VAL                                                 'UTF-8'
         17        SEND_VAL                                                 <false>
         18        DO_ICALL                                         $6      
         19        ECHO                                                     $6
   14    20      > RETURN                                                   1

Function compileechoes:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/BUaJC
function name:  compileEchoes
number of ops:  14
compiled vars:  !0 = $value
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   RECV                                             !0      
    3     1        INIT_FCALL                                               'preg_replace'
          2        SEND_VAL                                                 '%2F%5C%7B%5C%7B%5C%7B%5Cs%2A%28.%2B%3F%29%5Cs%2A%5C%7D%5C%7D%5C%7D%2Fs'
          3        SEND_VAL                                                 '%3C%3Fphp+echo+%241%3B+%3F%3E'
          4        SEND_VAR                                                 !0
          5        DO_ICALL                                         $1      
          6        ASSIGN                                                   !0, $1
    4     7        INIT_FCALL                                               'preg_replace'
          8        SEND_VAL                                                 '%2F%5C%7B%5C%7B%5Cs%2A%28.%2B%3F%29%5Cs%2A%5C%7D%5C%7D%2Fs'
          9        SEND_VAL                                                 '%3C%3Fphp+echo+htmlentities%28%241%2C+ENT_QUOTES%2C+%27UTF-8%27%2C+false%29%3B+%3F%3E'
         10        SEND_VAR                                                 !0
         11        DO_ICALL                                         $3      
         12      > RETURN                                                   $3
    5    13*     > RETURN                                                   null

End of function compileechoes

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
154.81 ms | 1394 KiB | 19 Q