<?php
$file_content = "Employees are employees_category MyEmployees kitEMPLOYEESMATCH";
$f = 'employees';
$r = 'vehicles';
$pattern = '~('
. implode(
')|(',
[
preg_quote($f, '~'),
preg_quote(ucfirst($f), '~'),
preg_quote(strtoupper($f), '~')
]
) . ')~';
$lookup = [
1 => $r,
2 => ucfirst($r),
3 => strtoupper($r)
];
var_export(
preg_replace_callback(
$pattern,
fn($m) => $lookup[array_key_last($m)],
$file_content
)
);
- Output for 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- 'Vehicles are vehicles_category MyVehicles kitVEHICLESMATCH'
- Output for 7.3.0 - 7.3.33
- Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ')' in /in/4JINR on line 25
Process exited with code 255.
preferences:
106.18 ms | 407 KiB | 5 Q