3v4l.org

run code in 300+ PHP versions simultaneously
<?php $contents = "Start Test, the data follows.<br><br>\n"; echo "\n<br><br>The data is about to be passed to preg_match(). If you do not see the word 'Success' after this line, the program has crashed.<br>\n"; $truefalsetest=preg_match('%^(?: [\x09\x0A\x0D\x20-\x7E] # ASCII | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte | \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates | \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3 | [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15 | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16 )*$%xs', $contents); echo "Success. Return value of preg_match() = $truefalsetest."; ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/NrYXA
function name:  (null)
number of ops:  12
compiled vars:  !0 = $contents, !1 = $truefalsetest
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, 'Start+Test%2C+the+data+follows.%3Cbr%3E%3Cbr%3E%0A'
    5     1        ECHO                                                     '%0A%3Cbr%3E%3Cbr%3EThe+data+is+about+to+be+passed+to+preg_match%28%29.+If+you+do+not+see+the+word+%27Success%27+after+this+line%2C+the+program+has+crashed.%3Cbr%3E%0A'
    6     2        INIT_FCALL                                               'preg_match'
          3        SEND_VAL                                                 '%25%5E%28%3F%3A%0A+++++++++%5B%5Cx09%5Cx0A%5Cx0D%5Cx20-%5Cx7E%5D++++++++++++%23+ASCII%0A+++++++%7C+%5B%5CxC2-%5CxDF%5D%5B%5Cx80-%5CxBF%5D++++++++++++%23+non-overlong+2-byte%0A+++++++%7C++%5CxE0%5B%5CxA0-%5CxBF%5D%5B%5Cx80-%5CxBF%5D++++++++%23+excluding+overlongs%0A+++++++%7C+%5B%5CxE1-%5CxEC%5CxEE%5CxEF%5D%5B%5Cx80-%5CxBF%5D%7B2%7D++%23+straight+3-byte%0A+++++++%7C++%5CxED%5B%5Cx80-%5Cx9F%5D%5B%5Cx80-%5CxBF%5D++++++++%23+excluding+surrogates%0A+++++++%7C++%5CxF0%5B%5Cx90-%5CxBF%5D%5B%5Cx80-%5CxBF%5D%7B2%7D++++%23+planes+1-3%0A+++++++%7C+%5B%5CxF1-%5CxF3%5D%5B%5Cx80-%5CxBF%5D%7B3%7D++++++++++%23+planes+4-15%0A+++++++%7C++%5CxF4%5B%5Cx80-%5Cx8F%5D%5B%5Cx80-%5CxBF%5D%7B2%7D++++%23+plane+16%0A+++%29%2A%24%25xs'
   15     4        SEND_VAR                                                 !0
          5        DO_ICALL                                         $3      
    6     6        ASSIGN                                                   !1, $3
   16     7        ROPE_INIT                                     3  ~6      'Success.+Return+value+of+preg_match%28%29+%3D+'
          8        ROPE_ADD                                      1  ~6      ~6, !1
          9        ROPE_END                                      2  ~5      ~6, '.'
         10        ECHO                                                     ~5
   17    11      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
202.6 ms | 1395 KiB | 15 Q