3v4l.org

run code in 300+ PHP versions simultaneously
<?php function linkify($text) { $pattern = "/(?:(?:(?<=[^a-z0-9@\xef\xbc\xa0$#\xef\xbc\x83-\xef\xbf\xbf\xe2\x80\xaa-\xe2\x80\xab])|^)(https?:\\/\\/)". "(?:(?:[^ \\f\\r\\t\\n\xb\\0-\x1f\x7f-\xef\xbf\xbf\xe2\x80\xaa-\xe2\x80\xab\x9-\xd\x20\xc2\x85\xc2\xa0". "\xe1\x9a\x80\xe1\xa0\x8e\xe2\x80\x80-\xe2\x80\x8a\xe2\x80\x80-\xe2\x80\x8a\xe2\x80\xa8\xe2\x80\xa9\xe2". "\x80\xaf\xe2\x81\x9f\xe3\x80\x80`!\"#$%&'()*+,.\\/:;<=>?@\\[\\]^_\\\\{|}~-](?:[-]|[^ \\f\\r\\t\\n\xb\\0-". "\x1f\x7f-\xef\xbf\xbf\xe2\x80\xaa-\xe2\x80\xab\x9-\xd\x20\xc2\x85\xc2\xa0\xe1\x9a\x80\xe1\xa0\x8e\xe2\x80". "\x80-\xe2\x80\x8a\xe2\x80\x80-\xe2\x80\x8a\xe2\x80\xa8\xe2\x80\xa9\xe2\x80\xaf\xe2\x81\x9f\xe3\x80\x80`!\"". "#$%&'()*+,.\\/:;<=>?@\\[\\]^_\\\\{|}~-])*)?[^ \\f\\r\\t\\n\xb\\0-\x1f\x7f-\xef\xbf\xbf\xe2\x80\xaa-\xe2". "\x80\xab\x9-\xd\x20\xc2\x85\xc2\xa0\xe1\x9a\x80\xe1\xa0\x8e\xe2\x80\x80-\xe2\x80\x8a\xe2\x80\x80-\xe2\x80". "\x8a\xe2\x80\xa8\xe2\x80\xa9\xe2\x80\xaf\xe2\x81\x9f\xe3\x80\x80`!\"#$%&'()*+,.\\/:;<=>?@\\[\\]^_\\\\{|". "}~-]\\.)+(?:(?:(?:aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|". "travel|xxx)(?=[^a-z0-9]|$))|(?:(?:ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg". "|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|dd|de|dj". "|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu". "|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb". "|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf". "|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg". "|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk". "|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)(?=[^a-z0-9]|$)))|(?:(?<![-_.\\/])|^)(?:(?:[a-z0-9](?:". "[-]|[a-z0-9])*)?[a-z0-9]\\.)+(?:(?:aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|". "net|org|pro|tel|travel|xxx)(?=[^a-z0-9]|$))|(?:(?<![-_.\\/])|^)(?:(?:[a-z0-9](?:[-]|[a-z0-9])*)?[a-z0-9]\\". ".){2,}(?:(?:ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|". "bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|dd|de|dj|dk|dm|do|dz|ec|ee|eg|". "eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|". "hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|". "lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|". "nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|". "so|sr|ss|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|". "vi|vn|vu|wf|ws|ye|yt|za|zm|zw)(?=[^a-z0-9]|$)))(?::[0-9]+)?(?:\\/(?:(?:[-a-z0-9!\\*';:=\\+\\,\\.\\$\\/%#\\". "[\\]_~&|\xc3\x80-\xc3\x96\xc3\x98-\xc3\xb6\xc3\xb8-\xc3\xbf\xc4\x80-\xc9\x8f\xc9\x93-\xc9\x94\xc9\x96-\xc9". "\x97\xc9\x99\xc9\x9b\xc9\xa3\xc9\xa8\xc9\xaf\xc9\xb2\xca\x89\xca\x8b\xca\xbb\xcc\x80-\xcd\xaf\xe1\xb8\x80-". "\xe1\xbb\xbf]*(?:(?:\\([-a-z0-9!\\*';:=\\+\\,\\.\\$\\/%#\\[\\]_~&|\xc3\x80-\xc3\x96\xc3\x98-\xc3\xb6\xc3\xb8-". "\xc3\xbf\xc4\x80-\xc9\x8f\xc9\x93-\xc9\x94\xc9\x96-\xc9\x97\xc9\x99\xc9\x9b\xc9\xa3\xc9\xa8\xc9\xaf\xc9\xb2". "\xca\x89\xca\x8b\xca\xbb\xcc\x80-\xcd\xaf\xe1\xb8\x80-\xe1\xbb\xbf]+\\))[-a-z0-9!\\*';:=\\+\\,\\.\\$\\/%#\\". "[\\]_~&|\xc3\x80-\xc3\x96\xc3\x98-\xc3\xb6\xc3\xb8-\xc3\xbf\xc4\x80-\xc9\x8f\xc9\x93-\xc9\x94\xc9\x96-\xc9". "\x97\xc9\x99\xc9\x9b\xc9\xa3\xc9\xa8\xc9\xaf\xc9\xb2\xca\x89\xca\x8b\xca\xbb\xcc\x80-\xcd\xaf\xe1\xb8\x80-". "\xe1\xbb\xbf]*)*(?:[-a-z0-9=_#\\/\\+\xc3\x80-\xc3\x96\xc3\x98-\xc3\xb6\xc3\xb8-\xc3\xbf\xc4\x80-\xc9\x8f\xc9". "\x93-\xc9\x94\xc9\x96-\xc9\x97\xc9\x99\xc9\x9b\xc9\xa3\xc9\xa8\xc9\xaf\xc9\xb2\xca\x89\xca\x8b\xca\xbb\xcc". "\x80-\xcd\xaf\xe1\xb8\x80-\xe1\xbb\xbf]|(?:\\([-a-z0-9!\\*';:=\\+\\,\\.\\$\\/%#\\[\\]_~&|\xc3\x80-\xc3\x96". "\xc3\x98-\xc3\xb6\xc3\xb8-\xc3\xbf\xc4\x80-\xc9\x8f\xc9\x93-\xc9\x94\xc9\x96-\xc9\x97\xc9\x99\xc9\x9b\xc9". "\xa3\xc9\xa8\xc9\xaf\xc9\xb2\xca\x89\xca\x8b\xca\xbb\xcc\x80-\xcd\xaf\xe1\xb8\x80-\xe1\xbb\xbf]+\\))))|(?:@". "[-a-z0-9!\\*';:=\\+\\,\\.\\$\\/%#\\[\\]_~&|\xc3\x80-\xc3\x96\xc3\x98-\xc3\xb6\xc3\xb8-\xc3\xbf\xc4\x80-\xc9". "\x8f\xc9\x93-\xc9\x94\xc9\x96-\xc9\x97\xc9\x99\xc9\x9b\xc9\xa3\xc9\xa8\xc9\xaf\xc9\xb2\xca\x89\xca\x8b\xca". "\xbb\xcc\x80-\xcd\xaf\xe1\xb8\x80-\xe1\xbb\xbf]+\\/))*)?(?:\\?[-a-z0-9!?\\*'\\(\\);:&=\\+\\$\\/%#\\[\\]_\\". ".,~|]*[a-z0-9_&=#\\/])?/i" ; return preg_replace_callback($pattern, function ($matches) { if (empty($matches[1])) { $matches[0] = 'http://'.$matches[0]; } if (!preg_match('/(?:\\.jpe?g|png|gif)\\Z/i', $matches[0])) { $format = '<a href="%s">%s</a>'; } else { $format = '<img src="%s" />'; } return sprintf($format, $matches[0], $matches[0]); }, $text); } $test = <<< 'EOD' hoge.com hoge.jp hoge.co.jp hoge.com/index.html hoge.jp/index.html hoge.co.jp/index.html http://hoge.com/index.html http://hoge.jp/index.html http://hoge.co.jp/index.html https://hoge.com/index.html https://hoge.jp/index.html https://hoge.co.jp/index.html http://hoge.com/test.jpg http://hoge.com/test.JpEg http://hoge.com/test.pnG EOD; echo linkify($test);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/oApc6
function name:  (null)
number of ops:  6
compiled vars:  !0 = $test
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   70     0  E >   ASSIGN                                                   !0, 'hoge.com%0Ahoge.jp%0Ahoge.co.jp%0Ahoge.com%2Findex.html%0Ahoge.jp%2Findex.html%0Ahoge.co.jp%2Findex.html%0Ahttp%3A%2F%2Fhoge.com%2Findex.html%0Ahttp%3A%2F%2Fhoge.jp%2Findex.html%0Ahttp%3A%2F%2Fhoge.co.jp%2Findex.html%0Ahttps%3A%2F%2Fhoge.com%2Findex.html%0Ahttps%3A%2F%2Fhoge.jp%2Findex.html%0Ahttps%3A%2F%2Fhoge.co.jp%2Findex.html%0Ahttp%3A%2F%2Fhoge.com%2Ftest.jpg%0Ahttp%3A%2F%2Fhoge.com%2Ftest.JpEg%0Ahttp%3A%2F%2Fhoge.com%2Ftest.pnG'
   88     1        INIT_FCALL                                               'linkify'
          2        SEND_VAR                                                 !0
          3        DO_FCALL                                      0  $2      
          4        ECHO                                                     $2
          5      > RETURN                                                   1

Function linkify:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/oApc6
function name:  linkify
number of ops:  10
compiled vars:  !0 = $text, !1 = $pattern
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV                                             !0      
    5     1        ASSIGN                                                   !1, '%2F%28%3F%3A%28%3F%3A%28%3F%3C%3D%5B%5Ea-z0-9%40%EF%BC%A0%24%23%EF%BC%83-%EF%BF%BF%E2%80%AA-%E2%80%AB%5D%29%7C%5E%29%28https%3F%3A%5C%2F%5C%2F%29%28%3F%3A%28%3F%3A%5B%5E+%5Cf%5Cr%5Ct%5Cn%0B%5C0-%1F%7F-%EF%BF%BF%E2%80%AA-%E2%80%AB%09-%0D+%C2%85%C2%A0%E1%9A%80%E1%A0%8E%E2%80%80-%E2%80%8A%E2%80%80-%E2%80%8A%E2%80%A8%E2%80%A9%E2%80%AF%E2%81%9F%E3%80%80%60%21%22%23%24%25%26%27%28%29%2A%2B%2C.%5C%2F%3A%3B%3C%3D%3E%3F%40%5C%5B%5C%5D%5E_%5C%5C%7B%7C%7D%7E-%5D%28%3F%3A%5B-%5D%7C%5B%5E+%5Cf%5Cr%5Ct%5Cn%0B%5C0-%1F%7F-%EF%BF%BF%E2%80%AA-%E2%80%AB%09-%0D+%C2%85%C2%A0%E1%9A%80%E1%A0%8E%E2%80%80-%E2%80%8A%E2%80%80-%E2%80%8A%E2%80%A8%E2%80%A9%E2%80%AF%E2%81%9F%E3%80%80%60%21%22%23%24%25%26%27%28%29%2A%2B%2C.%5C%2F%3A%3B%3C%3D%3E%3F%40%5C%5B%5C%5D%5E_%5C%5C%7B%7C%7D%7E-%5D%29%2A%29%3F%5B%5E+%5Cf%5Cr%5Ct%5Cn%0B%5C0-%1F%7F-%EF%BF%BF%E2%80%AA-%E2%80%AB%09-%0D+%C2%85%C2%A0%E1%9A%80%E1%A0%8E%E2%80%80-%E2%80%8A%E2%80%80-%E2%80%8A%E2%80%A8%E2%80%A9%E2%80%AF%E2%81%9F%E3%80%80%60%21%22%23%24%25%26%27%28%29%2A%2B%2C.%5C%2F%3A%3B%3C%3D%3E%3F%40%5C%5B%5C%5D%5E_%5C%5C%7B%7C%7D%7E-%5D%5C.%29%2B%28%3F%3A%28%3F%3A%28%3F%3Aaero%7Casia%7Cbiz%7Ccat%7Ccom%7Ccoop%7Cedu%7Cgov%7Cinfo%7Cint%7Cjobs%7Cmil%7Cmobi%7Cmuseum%7Cname%7Cnet%7Corg%7Cpro%7Ctel%7Ctravel%7Cxxx%29%28%3F%3D%5B%5Ea-z0-9%5D%7C%24%29%29%7C%28%3F%3A%28%3F%3Aac%7Cad%7Cae%7Caf%7Cag%7Cai%7Cal%7Cam%7Can%7Cao%7Caq%7Car%7Cas%7Cat%7Cau%7Caw%7Cax%7Caz%7Cba%7Cbb%7Cbd%7Cbe%7Cbf%7Cbg%7Cbh%7Cbi%7Cbj%7Cbm%7Cbn%7Cbo%7Cbr%7Cbs%7Cbt%7Cbv%7Cbw%7Cby%7Cbz%7Cca%7Ccc%7Ccd%7Ccf%7Ccg%7Cch%7Cci%7Cck%7Ccl%7Ccm%7Ccn%7Cco%7Ccr%7Ccs%7Ccu%7Ccv%7Ccx%7Ccy%7Ccz%7Cdd%7Cde%7Cdj%7Cdk%7Cdm%7Cdo%7Cdz%7Cec%7Cee%7Ceg%7Ceh%7Cer%7Ces%7Cet%7Ceu%7Cfi%7Cfj%7Cfk%7Cfm%7Cfo%7Cfr%7Cga%7Cgb%7Cgd%7Cge%7Cgf%7Cgg%7Cgh%7Cgi%7Cgl%7Cgm%7Cgn%7Cgp%7Cgq%7Cgr%7Cgs%7Cgt%7Cgu%7Cgw%7Cgy%7Chk%7Chm%7Chn%7Chr%7Cht%7Chu%7Cid%7Cie%7Cil%7Cim%7Cin%7Cio%7Ciq%7Cir%7Cis%7Cit%7Cje%7Cjm%7Cjo%7Cjp%7Cke%7Ckg%7Ckh%7Cki%7Ckm%7Ckn%7Ckp%7Ckr%7Ckw%7Cky%7Ckz%7Cla%7Clb%7Clc%7Cli%7Clk%7Clr%7Cls%7Clt%7Clu%7Clv%7Cly%7Cma%7Cmc%7Cmd%7Cme%7Cmg%7Cmh%7Cmk%7Cml%7Cmm%7Cmn%7Cmo%7Cmp%7Cmq%7Cmr%7Cms%7Cmt%7Cmu%7Cmv%7Cmw%7Cmx%7Cmy%7Cmz%7Cna%7Cnc%7Cne%7Cnf%7Cng%7Cni%7Cnl%7Cno%7Cnp%7Cnr%7Cnu%7Cnz%7Com%7Cpa%7Cpe%7Cpf%7Cpg%7Cph%7Cpk%7Cpl%7Cpm%7Cpn%7Cpr%7Cps%7Cpt%7Cpw%7Cpy%7Cqa%7Cre%7Cro%7Crs%7Cru%7Crw%7Csa%7Csb%7Csc%7Csd%7Cse%7Csg%7Csh%7Csi%7Csj%7Csk%7Csl%7Csm%7Csn%7Cso%7Csr%7Css%7Cst%7Csu%7Csv%7Csy%7Csz%7Ctc%7Ctd%7Ctf%7Ctg%7Cth%7Ctj%7Ctk%7Ctl%7Ctm%7Ctn%7Cto%7Ctp%7Ctr%7Ctt%7Ctv%7Ctw%7Ctz%7Cua%7Cug%7Cuk%7Cus%7Cuy%7Cuz%7Cva%7Cvc%7Cve%7Cvg%7Cvi%7Cvn%7Cvu%7Cwf%7Cws%7Cye%7Cyt%7Cza%7Czm%7Czw%29%28%3F%3D%5B%5Ea-z0-9%5D%7C%24%29%29%29%7C%28%3F%3A%28%3F%3C%21%5B-_.%5C%2F%5D%29%7C%5E%29%28%3F%3A%28%3F%3A%5Ba-z0-9%5D%28%3F%3A%5B-%5D%7C%5Ba-z0-9%5D%29%2A%29%3F%5Ba-z0-9%5D%5C.%29%2B%28%3F%3A%28%3F%3Aaero%7Casia%7Cbiz%7Ccat%7Ccom%7Ccoop%7Cedu%7Cgov%7Cinfo%7Cint%7Cjobs%7Cmil%7Cmobi%7Cmuseum%7Cname%7Cnet%7Corg%7Cpro%7Ctel%7Ctravel%7Cxxx%29%28%3F%3D%5B%5Ea-z0-9%5D%7C%24%29%29%7C%28%3F%3A%28%3F%3C%21%5B-_.%5C%2F%5D%29%7C%5E%29%28%3F%3A%28%3F%3A%5Ba-z0-9%5D%28%3F%3A%5B-%5D%7C%5Ba-z0-9%5D%29%2A%29%3F%5Ba-z0-9%5D%5C.%29%7B2%2C%7D%28%3F%3A%28%3F%3Aac%7Cad%7Cae%7Caf%7Cag%7Cai%7Cal%7Cam%7Can%7Cao%7Caq%7Car%7Cas%7Cat%7Cau%7Caw%7Cax%7Caz%7Cba%7Cbb%7Cbd%7Cbe%7Cbf%7Cbg%7Cbh%7Cbi%7Cbj%7Cbm%7Cbn%7Cbo%7Cbr%7Cbs%7Cbt%7Cbv%7Cbw%7Cby%7Cbz%7Cca%7Ccc%7Ccd%7Ccf%7Ccg%7Cch%7Cci%7Cck%7Ccl%7Ccm%7Ccn%7Cco%7Ccr%7Ccs%7Ccu%7Ccv%7Ccx%7Ccy%7Ccz%7Cdd%7Cde%7Cdj%7Cdk%7Cdm%7Cdo%7Cdz%7Cec%7Cee%7Ceg%7Ceh%7Cer%7Ces%7Cet%7Ceu%7Cfi%7Cfj%7Cfk%7Cfm%7Cfo%7Cfr%7Cga%7Cgb%7Cgd%7Cge%7Cgf%7Cgg%7Cgh%7Cgi%7Cgl%7Cgm%7Cgn%7Cgp%7Cgq%7Cgr%7Cgs%7Cgt%7Cgu%7Cgw%7Cgy%7Chk%7Chm%7Chn%7Chr%7Cht%7Chu%7Cid%7Cie%7Cil%7Cim%7Cin%7Cio%7Ciq%7Cir%7Cis%7Cit%7Cje%7Cjm%7Cjo%7Cjp%7Cke%7Ckg%7Ckh%7Cki%7Ckm%7Ckn%7Ckp%7Ckr%7Ckw%7Cky%7Ckz%7Cla%7Clb%7Clc%7Cli%7Clk%7Clr%7Cls%7Clt%7Clu%7Clv%7Cly%7Cma%7Cmc%7Cmd%7Cme%7Cmg%7Cmh%7Cmk%7Cml%7Cmm%7Cmn%7Cmo%7Cmp%7Cmq%7Cmr%7Cms%7Cmt%7Cmu%7Cmv%7Cmw%7Cmx%7Cmy%7Cmz%7Cna%7Cnc%7Cne%7Cnf%7Cng%7Cni%7Cnl%7Cno%7Cnp%7Cnr%7Cnu%7Cnz%7Com%7Cpa%7Cpe%7Cpf%7Cpg%7Cph%7Cpk%7Cpl%7Cpm%7Cpn%7Cpr%7Cps%7Cpt%7Cpw%7Cpy%7Cqa%7Cre%7Cro%7Crs%7Cru%7Crw%7Csa%7Csb%7Csc%7Csd%7Cse%7Csg%7Csh%7Csi%7Csj%7Csk%7Csl%7Csm%7Csn%7Cso%7Csr%7Css%7Cst%7Csu%7Csv%7Csy%7Csz%7Ctc%7Ctd%7Ctf%7Ctg%7Cth%7Ctj%7Ctk%7Ctl%7Ctm%7Ctn%7Cto%7Ctp%7Ctr%7Ctt%7Ctv%7Ctw%7Ctz%7Cua%7Cug%7Cuk%7Cus%7Cuy%7Cuz%7Cva%7Cvc%7Cve%7Cvg%7Cvi%7Cvn%7Cvu%7Cwf%7Cws%7Cye%7Cyt%7Cza%7Czm%7Czw%29%28%3F%3D%5B%5Ea-z0-9%5D%7C%24%29%29%29%28%3F%3A%3A%5B0-9%5D%2B%29%3F%28%3F%3A%5C%2F%28%3F%3A%28%3F%3A%5B-a-z0-9%21%5C%2A%27%3B%3A%3D%5C%2B%5C%2C%5C.%5C%24%5C%2F%25%23%5C%5B%5C%5D_%7E%26%7C%C3%80-%C3%96%C3%98-%C3%B6%C3%B8-%C3%BF%C4%80-%C9%8F%C9%93-%C9%94%C9%96-%C9%97%C9%99%C9%9B%C9%A3%C9%A8%C9%AF%C9%B2%CA%89%CA%8B%CA%BB%CC%80-%CD%AF%E1%B8%80-%E1%BB%BF%5D%2A%28%3F%3A%28%3F%3A%5C%28%5B-a-z0-9%21%5C%2A%27%3B%3A%3D%5C%2B%5C%2C%5C.%5C%24%5C%2F%25%23%5C%5B%5C%5D_%7E%26%7C%C3%80-%C3%96%C3%98-%C3%B6%C3%B8-%C3%BF%C4%80-%C9%8F%C9%93-%C9%94%C9%96-%C9%97%C9%99%C9%9B%C9%A3%C9%A8%C9%AF%C9%B2%CA%89%CA%8B%CA%BB%CC%80-%CD%AF%E1%B8%80-%E1%BB%BF%5D%2B%5C%29%29%5B-a-z0-9%21%5C%2A%27%3B%3A%3D%5C%2B%5C%2C%5C.%5C%24%5C%2F%25%23%5C%5B%5C%5D_%7E%26%7C%C3%80-%C3%96%C3%98-%C3%B6%C3%B8-%C3%BF%C4%80-%C9%8F%C9%93-%C9%94%C9%96-%C9%97%C9%99%C9%9B%C9%A3%C9%A8%C9%AF%C9%B2%CA%89%CA%8B%CA%BB%CC%80-%CD%AF%E1%B8%80-%E1%BB%BF%5D%2A%29%2A%28%3F%3A%5B-a-z0-9%3D_%23%5C%2F%5C%2B%C3%80-%C3%96%C3%98-%C3%B6%C3%B8-%C3%BF%C4%80-%C9%8F%C9%93-%C9%94%C9%96-%C9%97%C9%99%C9%9B%C9%A3%C9%A8%C9%AF%C9%B2%CA%89%CA%8B%CA%BB%CC%80-%CD%AF%E1%B8%80-%E1%BB%BF%5D%7C%28%3F%3A%5C%28%5B-a-z0-9%21%5C%2A%27%3B%3A%3D%5C%2B%5C%2C%5C.%5C%24%5C%2F%25%23%5C%5B%5C%5D_%7E%26%7C%C3%80-%C3%96%C3%98-%C3%B6%C3%B8-%C3%BF%C4%80-%C9%8F%C9%93-%C9%94%C9%96-%C9%97%C9%99%C9%9B%C9%A3%C9%A8%C9%AF%C9%B2%CA%89%CA%8B%CA%BB%CC%80-%CD%AF%E1%B8%80-%E1%BB%BF%5D%2B%5C%29%29%29%29%7C%28%3F%3A%40%5B-a-z0-9%21%5C%2A%27%3B%3A%3D%5C%2B%5C%2C%5C.%5C%24%5C%2F%25%23%5C%5B%5C%5D_%7E%26%7C%C3%80-%C3%96%C3%98-%C3%B6%C3%B8-%C3%BF%C4%80-%C9%8F%C9%93-%C9%94%C9%96-%C9%97%C9%99%C9%9B%C9%A3%C9%A8%C9%AF%C9%B2%CA%89%CA%8B%CA%BB%CC%80-%CD%AF%E1%B8%80-%E1%BB%BF%5D%2B%5C%2F%29%29%2A%29%3F%28%3F%3A%5C%3F%5B-a-z0-9%21%3F%5C%2A%27%5C%28%5C%29%3B%3A%26%3D%5C%2B%5C%24%5C%2F%25%23%5C%5B%5C%5D_%5C.%2C%7E%7C%5D%2A%5Ba-z0-9_%26%3D%23%5C%2F%5D%29%3F%2Fi'
   54     2        INIT_FCALL                                               'preg_replace_callback'
          3        SEND_VAR                                                 !1
          4        DECLARE_LAMBDA_FUNCTION                                  '%00%7Bclosure%7D%2Fin%2FoApc6%3A54%240'
   64     5        SEND_VAL                                                 ~3
          6        SEND_VAR                                                 !0
          7        DO_ICALL                                         $4      
          8      > RETURN                                                   $4
   66     9*     > RETURN                                                   null

End of function linkify

Function %00%7Bclosure%7D%2Fin%2FoApc6%3A54%240:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 7
Branch analysis from position: 3
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 17
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 16
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
filename:       /in/oApc6
function name:  {closure}
number of ops:  26
compiled vars:  !0 = $matches, !1 = $format
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   54     0  E >   RECV                                             !0      
   55     1        ISSET_ISEMPTY_DIM_OBJ                         1          !0, 1
          2      > JMPZ                                                     ~2, ->7
   56     3    >   FETCH_DIM_R                                      ~4      !0, 0
          4        CONCAT                                           ~5      'http%3A%2F%2F', ~4
          5        ASSIGN_DIM                                               !0, 0
          6        OP_DATA                                                  ~5
   58     7    >   INIT_FCALL                                               'preg_match'
          8        SEND_VAL                                                 '%2F%28%3F%3A%5C.jpe%3Fg%7Cpng%7Cgif%29%5CZ%2Fi'
          9        FETCH_DIM_R                                      ~6      !0, 0
         10        SEND_VAL                                                 ~6
         11        DO_ICALL                                         $7      
         12        BOOL_NOT                                         ~8      $7
         13      > JMPZ                                                     ~8, ->16
   59    14    >   ASSIGN                                                   !1, '%3Ca+href%3D%22%25s%22%3E%25s%3C%2Fa%3E'
         15      > JMP                                                      ->17
   61    16    >   ASSIGN                                                   !1, '%3Cimg+src%3D%22%25s%22+%2F%3E'
   63    17    >   INIT_FCALL                                               'sprintf'
         18        SEND_VAR                                                 !1
         19        FETCH_DIM_R                                      ~11     !0, 0
         20        SEND_VAL                                                 ~11
         21        FETCH_DIM_R                                      ~12     !0, 0
         22        SEND_VAL                                                 ~12
         23        DO_ICALL                                         $13     
         24      > RETURN                                                   $13
   64    25*     > RETURN                                                   null

End of function %00%7Bclosure%7D%2Fin%2FoApc6%3A54%240

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
178.36 ms | 1407 KiB | 20 Q