<?php
function get_telefoonnummer($nummer = false)
{
// als er niets is ingevuld, return false
if($nummer === false)
{
return false;
}
// verwijder alles tussen haakjes als in +31 (0) 123456789
$nummer = trim(preg_replace('/\s*\([^)]*\)/', '', $nummer));
// vervang alles behalve de nummers
$nummer = preg_replace("/[^0-9]/", "", $nummer);
// vervang een 0031 door een 0 en ..31 door 0
if(substr($nummer, 0, 4) == '0031')
{
$nummer = '0'.substr($nummer, 4);
}
// vervang een +31 door een 0... de + is al weggefilterd
if(substr($nummer, 0, 2) == '31')
{
$nummer = '0'.substr($nummer, 2);
}
// controle of cijfer met een 0 begint
if($nummer{0} !== '0')
{
return false;
}
// controle of telefoonnummer 10 cijfers heeft
if(strlen($nummer) !== 10)
{
return false;
}
return $nummer;
}
echo '<pre>';
echo '0184-633843'."\t". get_telefoonnummer('0184-633843').PHP_EOL;
echo '+31 (0)184-633843'."\t". get_telefoonnummer('+31 184633843').PHP_EOL;
echo '(0184) 633843'."\t\t". get_telefoonnummer('+31 184633843').PHP_EOL;
echo '+31 184-633843'."\t\t". get_telefoonnummer('+31 184633843').PHP_EOL;
echo '0031 184-633843'."\t\t". get_telefoonnummer('0031 184-633843').PHP_EOL;
echo '018 4 633 843'."\t\t". get_telefoonnummer('018 4 633 843').PHP_EOL;
echo '</pre>';
?>