3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = '## Titre Traduction ### Note critique: blabla'; $pattern = <<<'REGEX' ~(*ANYCRLF)(*BSR_ANYCRLF) \A # on capture # le titre ↴ et la séquence de nouvelle ligne ↴ \Q## \E ( \N* \S ) \h* ( \R ) # on passe les éventuelles lignes blanches (?: \h* \R )*+ # puis on capture la traduction ( \N* (?> \R \N* )*? ) # de nouveau les éventuelles lignes blanches (?: \h* \R )++ # puis on capture la note critique \Q### \E ( .* \S ) ~xus REGEX; $replacement = '<h2>$1</h2>$2<p>$3</p>$2<p>$4</p>'; $result = preg_replace($pattern, $replacement, $string); echo $result;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/pg3Yj
function name:  (null)
number of ops:  11
compiled vars:  !0 = $string, !1 = $pattern, !2 = $replacement, !3 = $result
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '%23%23+Titre%0A%0ATraduction%0A%0A%23%23%23+Note+critique%3A+blabla'
    8     1        ASSIGN                                                   !1, '%7E%28%2AANYCRLF%29%28%2ABSR_ANYCRLF%29%0A%5CA%0A%23+on+capture%0A%23+le+titre+%E2%86%B4+et+la+s%C3%A9quence+de+nouvelle+ligne+%E2%86%B4%0A%5CQ%23%23+%5CE++++%28+%5CN%2A+%5CS+%29+++++++++++%5Ch%2A+++++++++++%28+%5CR+%29%0A%23+on+passe+les+%C3%A9ventuelles+lignes+blanches%0A%28%3F%3A+%5Ch%2A+%5CR+%29%2A%2B%0A%23+puis+on+capture+la+traduction%0A%28+%5CN%2A+%28%3F%3E+%5CR+%5CN%2A+%29%2A%3F+%29%0A%23+de+nouveau+les+%C3%A9ventuelles+lignes+blanches%0A%28%3F%3A+%5Ch%2A+%5CR+%29%2B%2B%0A%23+puis+on+capture+la+note+critique%0A%5CQ%23%23%23+%5CE+%28+.%2A+%5CS+%29%0A%7Exus'
   25     2        ASSIGN                                                   !2, '%3Ch2%3E%241%3C%2Fh2%3E%242%3Cp%3E%243%3C%2Fp%3E%242%3Cp%3E%244%3C%2Fp%3E'
   27     3        INIT_FCALL                                               'preg_replace'
          4        SEND_VAR                                                 !1
          5        SEND_VAR                                                 !2
          6        SEND_VAR                                                 !0
          7        DO_ICALL                                         $7      
          8        ASSIGN                                                   !3, $7
   29     9        ECHO                                                     !3
   30    10      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.25 ms | 1009 KiB | 14 Q