3v4l.org

run code in 300+ PHP versions simultaneously
<?php $strings = [ "DH-HAC-HDBW3802EP-Z", "DH-HAC-HDBW3802EP-ZH", "DH-HAC-HDW1000MP-028", "DH-HAC-HDW1000RP-028", "DH-HAC-HDW1100EMP-02", "DH-HAC-HDW1100EMP-03", "DH-HAC-HDW1100MP", "DH-HAC-HDW1100MP-036", "DH-HAC-HDW1100RP-028", "DH-HAC-HDW1100RP-VF", "DH-HAC-HDW1100AP-028", "DH-HAC-HDW1100AP-036", "DH-HAC-HDW1100AP", "DH-HAC-HDW1100BP-028", "DH-HAC-HDW1100BP-036", "DH-HAC-HDW1100BP", "DH-HAC-HDW1100CP-", "DH-HAC-HDW1100DP-036", "DH-HAC-HDW1100DP-", "DH-HAC-HDW1100EMP-03", "DH-HAC-HDW1100EMP-02", "DH-HAC-HDW1100EMP-", "DH-HAC-HDW1100EP-036", "DH-HAC-HDW1100EP-028", "DH-HAC-HDW1100EP-03", "DH-HAC-HDW1100EP-02", "DH-HAC-HDW1100EP-", "DH-HAC-HDW1100EP", "DH-HAC-HDW1100FP-03", "DH-HAC-HDW1100FP-02", "DH-HAC-HDW1100FP-", "DH-HAC-HDW1100FP", "DH-HAC-HDW1100RMP-03", "DH-HAC-HDW1100RMP-02", "DH-HAC-HDW1100RMP-", "DH-HAC-HDW1100RMP", "DH-HAC-HDW1100RP-028", "DH-HAC-HDW1100RP-036", "DH-HAC-HDW1100RP-", "DH-HAC-HDW1100RP", "DH-HAC-HDW1100SP-036", "DH-HAC-HDW1100SP-028", "DH-HAC-HDW1100SP-", "DH-HAC-HDW1100SP", "DH-HAC-HDW1100SLP-03", "DH-HAC-HDW1100TP-", "DH-HAC-HDW1100MP-036", "DH-HAC-HDW1100MP-028", "DH-HAC-HDW1100MP" ]; $pattern = '/(?:DHI?-)?(?:IPC|HAC)-HDB?W\d+[A-Z]+\K(?:P-0\d{1,2}|P)/'; foreach ($strings as $string){ echo preg_replace($pattern, "", $string) .PHP_EOL; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 12
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 12
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
filename:       /in/kFlVe
function name:  (null)
number of ops:  14
compiled vars:  !0 = $strings, !1 = $pattern, !2 = $string
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, <array>
   54     1        ASSIGN                                                   !1, '%2F%28%3F%3ADHI%3F-%29%3F%28%3F%3AIPC%7CHAC%29-HDB%3FW%5Cd%2B%5BA-Z%5D%2B%5CK%28%3F%3AP-0%5Cd%7B1%2C2%7D%7CP%29%2F'
   55     2      > FE_RESET_R                                       $5      !0, ->12
          3    > > FE_FETCH_R                                               $5, !2, ->12
   56     4    >   INIT_FCALL                                               'preg_replace'
          5        SEND_VAR                                                 !1
          6        SEND_VAL                                                 ''
          7        SEND_VAR                                                 !2
          8        DO_ICALL                                         $6      
          9        CONCAT                                           ~7      $6, '%0A'
         10        ECHO                                                     ~7
   55    11      > JMP                                                      ->3
         12    >   FE_FREE                                                  $5
   57    13      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
135.99 ms | 1001 KiB | 14 Q