von Hinten an jede 2 Stelle mit einer Leerzeile versehen

Gunah

Erfahrenes Mitglied
Moin,

ich habe hier folgendes Problem und zwar habe ich eine Calc Liste (Excelliste)
die nicht gerade kurz ist...
und sie muss in die DB eingetragen werden, nur leider sind die für unseren Grafiker falsch formatiert, die Liste kommt allerdings auch vom Kunden...

nun habe ich schon alles möglich raus gefiltert.... mit
PHP:
$db->query("UPDATE companies SET homepage=REPLACE(homepage,'URL: ','')");
usw.

Die Telefonnummern stehen wie folgt drin:
12345 / 123456
[Vorwahl] / [nummer]
der Syntax soll aber so sein:
(1 23 45) 12 34 56
[also in 2 schritten von Hinten eine Leerzeile]
Leider habe ich bisher nichts dazu gefunden, oder nach dem falschen gesucht...

Gruß
Gunah
 
Das is völlig egal...
nur ich will nicht ca. 5000 Einträge per Hand ändern.
 
Zuletzt bearbeitet:
PHP:
$nummer = '02166 / 675128';
	$nummer = explode('/', $nummer);
	$nummer[0] = trim($nummer[0]);
	$nummer[1] = trim($nummer[1]);

	for($i = strlen($nummer[1]); $i >= 0; $i = $i-2) {
		$neue_nummer = substr($nummer[1], $i, 2). ' '. $neue_nummer;
	}

	for($i = strlen($nummer[0]); $i >= 0; $i = $i-2) {
		$neue_vorwahl = substr($nummer[0], $i, 2). ' '. $neue_vorwahl;
	}

	echo '('. $neue_vorwahl.') '. $neue_nummer;
Ungetestet. Aber sicherlich der Schubs in die richtige Richtung.
 
danke werde ich mir genau angucken, so der test erstmal hat ergeben, das nur eine gerade Anzahl an Zahlen vorhanden sein kann damit es Funktioniert

01234 / 123456789 wird zu (12 34 ) 23 45 67 89

habe evtl. noch ne andere Lösung durch dein Post gefunden, werde ihn mal testen und gucken ob es geht.
 
so hier nun mal der Quellcode...

und wehe es kennt einer eine Einfachere Lösung :) *gg*

PHP:
<?php

// Escape Strings
$nb = '';
$vw = '';
$r = '0';
//require('global.php');


$nummer = '01234 / 1234567';
    $nummer = explode(' / ', $nummer);
    $vorwahl = trim($nummer[0]);
    $nummer = trim($nummer[1]);

$vorwahl_conut = strlen($vorwahl);
$vorwahl_nummer = strlen($nummer);

// Zahlenumdrehen
/// Vorwahl
$r_vw = array();
for($i = 1; $i <= $vorwahl_conut; $i++) {
    //$vw .= $vorwahl{$i-1};
    array_push($r_vw,$vorwahl{$i-1});
}
arsort($r_vw);
//print_r ($r_vw);

/// Vorwahl
$r_nb = array();
for($i = 1; $i <= $vorwahl_nummer; $i++) {
    //$vw .= $vorwahl{$i-1};
    array_push($r_nb,$nummer{$i-1});
}
arsort($r_nb);
//print_r ($r_nb);

// Vorwahl
$vw = array();
for($i = 1; $i <= $vorwahl_conut; $i++) {
    if($i%2) array_push($vw,$r_vw[$i-1].' ');
    else array_push($vw,$r_vw[$i-1]);
}

// Normale Nummer
$nb = array();
for($i = 1; $i <= $vorwahl_nummer; $i++) {
    if($i%2) array_push($nb,$r_nb[$i-1].' ');
    else array_push($nb,$r_nb[$i-1]);
}
asort($nb);
asort($vw);

$nb = implode($nb);
$vw = implode($vw);

$vw = "({$vw})";
$vw = str_replace(' )',')',$vw);
$vw = str_replace('( ','(',$vw);

echo "{$vw} {$nb}";
?>

sorry habe nicht soviel kommentiert...

Gruß
Gunah
 
Zuletzt bearbeitet:
Zurück