Telefon-Nummern auf ein einheitliches Format bringen
/**
* Bringt Telefonnummern auf einen einheitlichen Stand
* Format: 49-351-1234567
* Daraus kann dann sehr einfach jede beliebige andere Form
* dargestellt werden (+0049, +49, ... (351) .... etc)
*/
function normalizeTelNumbers($telnr, $default_country = '49')
{
if ($telnr == '') return '';
$replace_from = array(' ', '(0)', '(', ')', '00', '+', '/', '--');
$replace_to = array('', '-', '', '-', '', '', '-', '-');
$telnr = str_replace($replace_from, $replace_to, $telnr);
$a = explode('-', $telnr);
$m = count($a);
for ($i = 0; $i < $m ; $i++) {
$p =& $a[$i];
if (substr($p, 0, 1) == '0') {
$a[$i] = substr($p, 1);
}
}
if ($m < 3) {
if (strlen($a[0]) > 2) { // > 2 so no country code
array_unshift($a, $default_country);
}
}
return implode('-', $a);
}
Beispiele
echo normalizeTelNumbers('49-1743144196'). '<br />';
echo normalizeTelNumbers('351 1231318'). '<br />';
echo normalizeTelNumbers('0351 12 31 31 8'). '<br />';
echo normalizeTelNumbers('(0351) 12 31 31 8'). '<br />';
echo normalizeTelNumbers('0351 / 12 31 31 8'). '<br />';
echo normalizeTelNumbers('49 /0351/ 12 31 31 8'). '<br />';
echo normalizeTelNumbers('+49 /0351/ 12 31 31 8'). '<br />';
echo normalizeTelNumbers('0049 (0) 351/ 12 31 31 8'). '<br />';
echo normalizeTelNumbers('0049 / (0) 351/ 12 31 31 8'). '<br />';
© 2002 – 2012 — Sven Weingartner | Contact | page viewed 514 times since 03. Apr 2010.
powered by KXcms v 2.01.00 | Execution Time: -984.032 ms
PHP Snippets