3v4l.org

run code in 500+ PHP versions simultaneously
<?php $filename = '1234_56_78 A_FAIRLY_SHORT_TITLE_D.pdf'; $filename = preg_replace('/\\.[^.\\s]{3,4}$/', '', $filename); $parts = preg_split( "(_| )", $filename ); $project_no = $parts[0]; $series_no = $parts[1]; $sheet_no = $parts[2]; $revision = end($parts); $title = implode(' ',\array_diff_key($parts, array_flip([0,1,2,count($parts)-1]))); echo $title;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/J6b5r
function name:  (null)
number of ops:  36
compiled vars:  !0 = $filename, !1 = $parts, !2 = $project_no, !3 = $series_no, !4 = $sheet_no, !5 = $revision, !6 = $title
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, '1234_56_78+A_FAIRLY_SHORT_TITLE_D.pdf'
    4     1        FRAMELESS_ICALL_3                preg_replace        ~8      '%2F%5C.%5B%5E.%5Cs%5D%7B3%2C4%7D%24%2F', ''
          2        OP_DATA                                                      !0
          3        ASSIGN                                                       !0, ~8
    5     4        INIT_FCALL                                                   'preg_split'
          5        SEND_VAL                                                     '%28_%7C+%29'
          6        SEND_VAR                                                     !0
          7        DO_ICALL                                             $10     
          8        ASSIGN                                                       !1, $10
    7     9        FETCH_DIM_R                                          ~12     !1, 0
         10        ASSIGN                                                       !2, ~12
    8    11        FETCH_DIM_R                                          ~14     !1, 1
         12        ASSIGN                                                       !3, ~14
    9    13        FETCH_DIM_R                                          ~16     !1, 2
         14        ASSIGN                                                       !4, ~16
   10    15        INIT_FCALL                                                   'end'
         16        SEND_REF                                                     !1
         17        DO_ICALL                                             $18     
         18        ASSIGN                                                       !5, $18
   12    19        INIT_FCALL                                                   'array_diff_key'
         20        SEND_VAR                                                     !1
         21        INIT_FCALL                                                   'array_flip'
         22        INIT_ARRAY                                           ~20     0
         23        ADD_ARRAY_ELEMENT                                    ~20     1
         24        ADD_ARRAY_ELEMENT                                    ~20     2
         25        COUNT                                                ~21     !1
         26        SUB                                                  ~22     ~21, 1
         27        ADD_ARRAY_ELEMENT                                    ~20     ~22
         28        SEND_VAL                                                     ~20
         29        DO_ICALL                                             $23     
         30        SEND_VAR                                                     $23
         31        DO_ICALL                                             $24     
         32        FRAMELESS_ICALL_2                implode             ~25     '+', $24
         33        ASSIGN                                                       !6, ~25
   14    34        ECHO                                                         !6
   15    35      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
169.61 ms | 2106 KiB | 17 Q