3v4l.org

run code in 300+ PHP versions simultaneously
<?php function condenseDays(string $days): string { return preg_replace( '/-\K[^,]+-/', '', str_replace( ['n,t', 'e,w', 'd,t', 'u,f', 'i,s', 't,s'], ['n-t', 'e-w', 'd-t', 'u-f', 'i-s', 't-s'], $days ) ); } echo condenseDays('mon,tue,wed,thu,fri,sat') . "\n"; echo condenseDays('tue,thu,fri,sun') . "\n"; echo condenseDays('mon,tue,wed,fri,sat,sun') . "\n"; echo condenseDays('mon,thu,sun') . "\n"; echo condenseDays('tue,wed,fri,sat') . "\n"; echo condenseDays('mon,wed,fri,sun') . "\n"; echo condenseDays('mon,tue,thu,fri,sat,sun');
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
mon-sat tue,thu-sun mon-wed,fri-sun mon-thu,sun tue-wed,fri-sat mon,wed,fri-sun mon-tue,thu-sun

preferences:
118.69 ms | 407 KiB | 5 Q