[eluser]coolfactor[/eluser]
Got it. Here's the completed code. It accepts hyphen or space-delimited numbers, or even numbers without any delimiters.
Code:
function mask_cc($cc, $mask_char = 'X')
{
$pattern = '/^([0-9- ]+)([0-9]{4})$/';
$matches = array();
preg_match($pattern, $cc, $matches);
return preg_replace('([0-9])', 'X', $matches[1]).$matches[2];
}
$cc = '1234-4344-2994-4394';
echo mask_cc($cc, '*');
Echos: ****-****-****-4394