3v4l.org

run code in 300+ PHP versions simultaneously
<?php $chunk = 'This is a very large text line I have ever seen in my life and I love it.'; $searchfor = 'I have'; $pattern = preg_quote($searchfor, '/'); $pattern = "/^.*?(.{1,10}$pattern.{1,10}).*$/m"; if(preg_match_all($pattern, $chunk, $matches)){ echo "Found matches:\n"; echo implode("\n", $matches[1]) . "\n"; } $searchfor = 'a very'; $pattern = preg_quote($searchfor, '/'); $pattern = "/^.*?(.{1,10}$pattern.{1,10}).*$/m"; if(preg_match_all($pattern, $chunk, $matches)){ echo "Found matches:\n"; echo implode("\n", $matches[1]) . "\n"; } $searchfor = 'and I'; $pattern = preg_quote($searchfor, '/'); $pattern = "/^.*?(.{1,10}$pattern.{1,10}).*$/m"; if(preg_match_all($pattern, $chunk, $matches)){ echo "Found matches:\n"; echo implode("\n", $matches[1]) . "\n"; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 25
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 49
Branch analysis from position: 41
2 jumps found. (Code = 43) Position 1 = 65, Position 2 = 73
Branch analysis from position: 65
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 73
Branch analysis from position: 49
Branch analysis from position: 25
filename:       /in/5WA1T
function name:  (null)
number of ops:  74
compiled vars:  !0 = $chunk, !1 = $searchfor, !2 = $pattern, !3 = $matches
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, 'This+is+a+very+large+text+line+I+have+ever+seen+in+my+life+and+I+love+it.'
    3     1        ASSIGN                                                   !1, 'I+have'
    4     2        INIT_FCALL                                               'preg_quote'
          3        SEND_VAR                                                 !1
          4        SEND_VAL                                                 '%2F'
          5        DO_ICALL                                         $6      
          6        ASSIGN                                                   !2, $6
    5     7        ROPE_INIT                                     3  ~9      '%2F%5E.%2A%3F%28.%7B1%2C10%7D'
          8        ROPE_ADD                                      1  ~9      ~9, !2
          9        ROPE_END                                      2  ~8      ~9, '.%7B1%2C10%7D%29.%2A%24%2Fm'
         10        ASSIGN                                                   !2, ~8
    6    11        INIT_FCALL                                               'preg_match_all'
         12        SEND_VAR                                                 !2
         13        SEND_VAR                                                 !0
         14        SEND_REF                                                 !3
         15        DO_ICALL                                         $12     
         16      > JMPZ                                                     $12, ->25
    7    17    >   ECHO                                                     'Found+matches%3A%0A'
    8    18        INIT_FCALL                                               'implode'
         19        SEND_VAL                                                 '%0A'
         20        FETCH_DIM_R                                      ~13     !3, 1
         21        SEND_VAL                                                 ~13
         22        DO_ICALL                                         $14     
         23        CONCAT                                           ~15     $14, '%0A'
         24        ECHO                                                     ~15
   10    25    >   ASSIGN                                                   !1, 'a+very'
   11    26        INIT_FCALL                                               'preg_quote'
         27        SEND_VAR                                                 !1
         28        SEND_VAL                                                 '%2F'
         29        DO_ICALL                                         $17     
         30        ASSIGN                                                   !2, $17
   12    31        ROPE_INIT                                     3  ~20     '%2F%5E.%2A%3F%28.%7B1%2C10%7D'
         32        ROPE_ADD                                      1  ~20     ~20, !2
         33        ROPE_END                                      2  ~19     ~20, '.%7B1%2C10%7D%29.%2A%24%2Fm'
         34        ASSIGN                                                   !2, ~19
   13    35        INIT_FCALL                                               'preg_match_all'
         36        SEND_VAR                                                 !2
         37        SEND_VAR                                                 !0
         38        SEND_REF                                                 !3
         39        DO_ICALL                                         $23     
         40      > JMPZ                                                     $23, ->49
   14    41    >   ECHO                                                     'Found+matches%3A%0A'
   15    42        INIT_FCALL                                               'implode'
         43        SEND_VAL                                                 '%0A'
         44        FETCH_DIM_R                                      ~24     !3, 1
         45        SEND_VAL                                                 ~24
         46        DO_ICALL                                         $25     
         47        CONCAT                                           ~26     $25, '%0A'
         48        ECHO                                                     ~26
   17    49    >   ASSIGN                                                   !1, 'and+I'
   18    50        INIT_FCALL                                               'preg_quote'
         51        SEND_VAR                                                 !1
         52        SEND_VAL                                                 '%2F'
         53        DO_ICALL                                         $28     
         54        ASSIGN                                                   !2, $28
   19    55        ROPE_INIT                                     3  ~31     '%2F%5E.%2A%3F%28.%7B1%2C10%7D'
         56        ROPE_ADD                                      1  ~31     ~31, !2
         57        ROPE_END                                      2  ~30     ~31, '.%7B1%2C10%7D%29.%2A%24%2Fm'
         58        ASSIGN                                                   !2, ~30
   20    59        INIT_FCALL                                               'preg_match_all'
         60        SEND_VAR                                                 !2
         61        SEND_VAR                                                 !0
         62        SEND_REF                                                 !3
         63        DO_ICALL                                         $34     
         64      > JMPZ                                                     $34, ->73
   21    65    >   ECHO                                                     'Found+matches%3A%0A'
   22    66        INIT_FCALL                                               'implode'
         67        SEND_VAL                                                 '%0A'
         68        FETCH_DIM_R                                      ~35     !3, 1
         69        SEND_VAL                                                 ~35
         70        DO_ICALL                                         $36     
         71        CONCAT                                           ~37     $36, '%0A'
         72        ECHO                                                     ~37
   23    73    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
136 ms | 1007 KiB | 16 Q