3v4l.org

run code in 300+ PHP versions simultaneously
<?php $str = <<<'EOD' 1er couplet: Gm/G Mon enfant, nue sur les galets G D7 Le vent dans tes cheveux defaits Dsus Cmaj Comme un printemps sur mon trajet C Em Un diamant tombé d'un coffret EOD; $pattern = <<<'EOD' ~ \b (?: G,C,D | A,B,C | E,C,D | [A-G] (?: \# | b )? (?: / [A-G] b)? (?: (?: maj | min | sus | add | aug | dim ) \d{0,2} (?: \# \d{1,2} | sus \d )? | m \d{0,2} (?: (?: maj | add | \# )? \d{0,2} )? | -? \d{0,2} (?: \( [^)]* \) | \# \d{1,2} )? ) ) (?!\S) ~x EOD; echo preg_replace($pattern, '[$0]', $str);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/EgTM5
function name:  (null)
number of ops:  9
compiled vars:  !0 = $str, !1 = $pattern
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '1er+couplet%3A%0AGm%2FG+++++%0A+Mon+enfant%2C+nue+sur+les+galets%0AG++++++++++++++++++++++++++++++++D7%0A+Le+vent+dans+tes+cheveux+defaits%0ADsus+++++++++++++++++++++++++++++++++Cmaj%0A+Comme+un+printemps+sur+mon+trajet%0AC++++++++++++++++++++++++++++Em%0A+Un+diamant+tomb%C3%A9+d%27un+coffret'
   14     1        ASSIGN                                                   !1, '%7E%0A%5Cb%0A%28%3F%3A%0A++++G%2CC%2CD+%7C+A%2CB%2CC+%7C+E%2CC%2CD%0A++%7C%0A++++%5BA-G%5D+++%28%3F%3A+%5C%23+%7C+b+%29%3F+++%28%3F%3A+%2F+%5BA-G%5D+b%29%3F%0A++++%28%3F%3A%0A++++++++%28%3F%3A+maj+%7C+min+%7C+sus+%7C+add+%7C+aug+%7C+dim+%29%0A++++++++%5Cd%7B0%2C2%7D%0A++++++++%28%3F%3A+%5C%23+%5Cd%7B1%2C2%7D+%7C+sus+%5Cd+%29%3F%0A++++++%7C%0A++++++++m+%5Cd%7B0%2C2%7D%0A++++++++%28%3F%3A+%28%3F%3A+maj+%7C+add+%7C+%5C%23+%29%3F++%5Cd%7B0%2C2%7D+%29%3F%0A++++++%7C%0A++++++++-%3F+%5Cd%7B0%2C2%7D+%0A++++++++%28%3F%3A+%5C%28+%5B%5E%29%5D%2A+%5C%29+%7C+%5C%23+%5Cd%7B1%2C2%7D+%29%3F%0A++++%29%0A%29%0A%28%3F%21%5CS%29%0A%7Ex'
   37     2        INIT_FCALL                                               'preg_replace'
          3        SEND_VAR                                                 !1
          4        SEND_VAL                                                 '%5B%240%5D'
          5        SEND_VAR                                                 !0
          6        DO_ICALL                                         $4      
          7        ECHO                                                     $4
          8      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
136.67 ms | 997 KiB | 14 Q