3v4l.org

run code in 300+ PHP versions simultaneously
<?php $body = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <META content="text/html; charset=windows-1251" http-equiv=Content-Type> <META name=GENERATOR content="MSHTML 11.00.9600.17105"> <STYLE></STYLE> </HEAD> <BODY bgColor=#ffffff> <FONT size=2><DIV align=center> <TABLE borderColor=#0e0016 cellSpacing=2 borderColorDark=#ba0000 cellPadding=0 width=860 bgColor=#f5f5fa borderColorLight=#ba0000 border=0></TABLE> </BODY> </HTML>'; $body2 = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><META content="text/html; charset=windows-1251" http-equiv=Content-Type><META name=GENERATOR content="MSHTML 11.00.9600.17105"><STYLE></STYLE></HEAD><BODY bgColor=#ffffff><FONT size=2><BODY>test<BODY>test2</BODY></BODY><DIV align=center><TABLE borderColor=#0e0016 cellSpacing=2 borderColorDark=#ba0000 cellPadding=0 width=860 bgColor=#f5f5fa borderColorLight=#ba0000 border=0></TABLE></BODY></HTML>'; $pattern = "#charset=(.*\")\".*#is"; preg_match($pattern, $body2, $matches); var_dump($matches);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kh0mP
function name:  (null)
number of ops:  12
compiled vars:  !0 = $body, !1 = $body2, !2 = $pattern, !3 = $matches
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.0+Transitional%2F%2FEN%22%3E%0A%3CHTML%3E%0A%3CHEAD%3E%0A%3CMETA+content%3D%22text%2Fhtml%3B+charset%3Dwindows-1251%22+http-equiv%3DContent-Type%3E%0A%3CMETA+name%3DGENERATOR+content%3D%22MSHTML+11.00.9600.17105%22%3E%0A%3CSTYLE%3E%3C%2FSTYLE%3E%0A%3C%2FHEAD%3E%0A%3CBODY+bgColor%3D%23ffffff%3E%0A%3CFONT+size%3D2%3E%3CDIV+align%3Dcenter%3E%0A%3CTABLE+borderColor%3D%230e0016+cellSpacing%3D2+borderColorDark%3D%23ba0000+cellPadding%3D0+width%3D860+bgColor%3D%23f5f5fa+borderColorLight%3D%23ba0000+border%3D0%3E%3C%2FTABLE%3E%0A%3C%2FBODY%3E%0A%3C%2FHTML%3E'
   15     1        ASSIGN                                                   !1, '%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.0+Transitional%2F%2FEN%22%3E%3CHTML%3E%3CHEAD%3E%3CMETA+content%3D%22text%2Fhtml%3B+charset%3Dwindows-1251%22+http-equiv%3DContent-Type%3E%3CMETA+name%3DGENERATOR+content%3D%22MSHTML+11.00.9600.17105%22%3E%3CSTYLE%3E%3C%2FSTYLE%3E%3C%2FHEAD%3E%3CBODY+bgColor%3D%23ffffff%3E%3CFONT+size%3D2%3E%3CBODY%3Etest%3CBODY%3Etest2%3C%2FBODY%3E%3C%2FBODY%3E%3CDIV+align%3Dcenter%3E%3CTABLE+borderColor%3D%230e0016+cellSpacing%3D2+borderColorDark%3D%23ba0000+cellPadding%3D0+width%3D860+bgColor%3D%23f5f5fa+borderColorLight%3D%23ba0000+border%3D0%3E%3C%2FTABLE%3E%3C%2FBODY%3E%3C%2FHTML%3E'
   17     2        ASSIGN                                                   !2, '%23charset%3D%28.%2A%22%29%22.%2A%23is'
   19     3        INIT_FCALL                                               'preg_match'
          4        SEND_VAR                                                 !2
          5        SEND_VAR                                                 !1
          6        SEND_REF                                                 !3
          7        DO_ICALL                                                 
   21     8        INIT_FCALL                                               'var_dump'
          9        SEND_VAR                                                 !3
         10        DO_ICALL                                                 
         11      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
159.2 ms | 1387 KiB | 17 Q