<?php
$pattern1 = '(%2d) %4d-%4d';
$pattern2 = '%2d%4d%4d';
echo mask('1234567890', $pattern2, $pattern1); //(12) 3456-7890
<?php
$pattern1 = '(%2d) %4d-%4d';
$pattern2 = '%2d%4d%4d';
echo mask('(12) 3456-7890', $pattern1, $pattern2); //1234567890
<?php
function mask($input, $input_pattern, $output_pattern)
{
return vsprintf($output_pattern, sscanf($input, $input_pattern));
}