3v4l.org

run code in 500+ PHP versions simultaneously
<?php $slug = '/job/hello-this-is-my-job-posting-for-a-daycare-im-looking-for-in-91770-rosemead-california-12345'; $slugLimit = 70; echo preg_replace_callback( '~^((?:[^-]*-)*)(in-\d{5}-[^-]*-[^-]*-\d*)$~u', fn($m) => implode([ preg_replace( '~^.{0,' . ($slugLimit - mb_strlen($m[2]) - 1) . '}-\K.*~u', '', $m[1] ), $m[2] ]), $slug );
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/gmtor
function name:  (null)
number of ops:  11
compiled vars:  !0 = $slug, !1 = $slugLimit
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, '%2Fjob%2Fhello-this-is-my-job-posting-for-a-daycare-im-looking-for-in-91770-rosemead-california-12345'
    5     1        ASSIGN                                                       !1, 70
    7     2        INIT_FCALL                                                   'preg_replace_callback'
    8     3        SEND_VAL                                                     '%7E%5E%28%28%3F%3A%5B%5E-%5D%2A-%29%2A%29%28in-%5Cd%7B5%7D-%5B%5E-%5D%2A-%5B%5E-%5D%2A-%5Cd%2A%29%24%7Eu'
    9     4        DECLARE_LAMBDA_FUNCTION                              ~4      [0]
          5        BIND_LEXICAL                                                 ~4, !1
   16     6        SEND_VAL                                                     ~4
   17     7        SEND_VAR                                                     !0
    7     8        DO_ICALL                                             $5      
   17     9        ECHO                                                         $5
   18    10      > RETURN                                                       1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/gmtor
function name:  {closure:/in/gmtor:9}
number of ops:  19
compiled vars:  !0 = $m, !1 = $slugLimit
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    9     0  E >   RECV                                                 !0      
          1        BIND_STATIC                                                  !1
   11     2        INIT_FCALL                                                   'mb_strlen'
          3        FETCH_DIM_R                                          ~2      !0, 2
          4        SEND_VAL                                                     ~2
          5        DO_ICALL                                             $3      
          6        SUB                                                  ~4      !1, $3
          7        SUB                                                  ~5      ~4, 1
          8        CONCAT                                               ~6      '%7E%5E.%7B0%2C', ~5
          9        CONCAT                                               ~7      ~6, '%7D-%5CK.%2A%7Eu'
   13    10        FETCH_DIM_R                                          ~8      !0, 1
   10    11        FRAMELESS_ICALL_3                preg_replace        ~9      ~7, ''
   13    12        OP_DATA                                                      ~8
         13        INIT_ARRAY                                           ~10     ~9
   15    14        FETCH_DIM_R                                          ~11     !0, 2
         15        ADD_ARRAY_ELEMENT                                    ~10     ~11
    9    16        FRAMELESS_ICALL_1                implode             ~12     ~10
   15    17      > RETURN                                                       ~12
   16    18*     > RETURN                                                       null

End of Dynamic Function 0

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
158.07 ms | 1720 KiB | 15 Q