3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = explode(PHP_EOL, '123 – 45 – 6789 111000025 021000021 031902766 067014822 122000247 123456789 987654321 012345678901 876543210987 112233445566 123456789 123-456789 123456789 123 45 6789 123-45-6789 123-45-6789 123 – 45 – 6789 123.45.6789 123_45_6789 123 456 789 123-456-789 123 – 456 – 789 123.456.789 123_456_789 1234 56 789 1234-56-789 1234 – 56 – 789 1234.56.789 1234_56_789 12 345 6789 12-345-6789 12 – 345 – 6789 12.345.6789 12_345_6789'); var_export( preg_replace( '/[-–_ .\d](?=[-–_ .\d]*\d{4}$)/', '*', $array ) );
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 0 => '***************6789', 1 => '*****0025', 2 => '*****0021', 3 => '*****2766', 4 => '*****4822', 5 => '*****0247', 6 => '*****6789', 7 => '*****4321', 8 => '********8901', 9 => '********0987', 10 => '********5566', 11 => '*****6789', 12 => '******6789', 13 => '*****6789', 14 => '*******6789', 15 => '*******6789', 16 => '*******6789', 17 => '***************6789', 18 => '*******6789', 19 => '*******6789', 20 => '123 456 789', 21 => '123-456-789', 22 => '123 – 456 – 789', 23 => '123.456.789', 24 => '123_456_789', 25 => '1234 56 789', 26 => '1234-56-789', 27 => '1234 – 56 – 789', 28 => '1234.56.789', 29 => '1234_56_789', 30 => '*******6789', 31 => '*******6789', 32 => '***************6789', 33 => '*******6789', 34 => '*******6789', )

preferences:
68.3 ms | 1233 KiB | 4 Q