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);
Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
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

preferences:
141.31 ms | 408 KiB | 5 Q