<?php
function callback($s) {
var_dump($s);
return substr_replace($s[0], str_repeat('*', strlen($s[0])), 0, -4);
}
$values = array(
'65746244234383238',
'5746244234383238',
'746244234383238',
'46244234383238',
'6244234383238',
'244234383238',
'44234383238',
);
foreach ($values as $value)
var_dump(preg_replace_callback('/\d{12,16}/', 'callback', $value));
preferences:
49.76 ms | 402 KiB | 5 Q