PHP Eingegebene Zahl ändern?

maddoccc

Lieutenant
Registriert
März 2009
Beiträge
562
Hi Leute.

Ich habe einen SMS Newsletter auf meiner Webseite.

Die Leute tragen ihre Nummer ein z.B. 01745555555 welche dann in eine Datei geschrieben wird.

Nun habe ich aber meinen SMS Gateway Provider gewechselt der die Nummern im CSV Import so haben will. 00491745555555

Wie kann ich die von den Unsern eingegebene Nummer mit PHP so ändern das die Formatierung stimmt?

Mein Code sieht so aus

PHP:
  {
     $ausgabe=$name. "; ". $nummer."\n";  // <-- Dollar
     $datei=fopen("sms.csv","a");
     $output=fwrite($datei,$ausgabe);
     fclose($datei);
     header("Location: eingabe_done.html");
     exit();
  }

Es müsste also die erste Null entfernt werden und dafür die 0049 eingetragen werden..

Jemand ne Idee?

Gruß Maddoc
 
Zuletzt bearbeitet:
schau dir mal auf php.net str_replace() und die ähnlichen funktionen auf die verwiesen wird an.

denk auch dran das es ja beliebig viele Möglichkeiten gibt die nummer einzutragen
+49xxxyyyyzzz
0xxxyyyyzzz
0xxx/yyyyzzz
0xxx/yyyy-zzz

vielleicht ist es sinnvoll schon bei der Eingabe das passende Format zu "erzwingen" ?
 
Ja, ersteres habe habe ich bereits gemacht.

Hier mal der ganze Code.

PHP:
<?php
session_start();
$name=$_POST['name'];
$nummer=$_POST['nummer'];
$spam_eing = md5($_POST['spamschutz']);
$spam_vorg = $_SESSION['antispam'];



if  ((!($name != "" && $nummer != "" && $spam_eing == $spam_vorg)) || (preg_match('/\D/', $_REQUEST['nummer'])))
  {
     header("Location: eingabe_fail.html");
     exit();
  }
  else
  
  {
     $ausgabe=$name. "; ". $nummer."\n";  // <-- Dollar
     $datei=fopen("sms.csv","a");
     $output=fwrite($datei,$ausgabe);
     fclose($datei);
     header("Location: eingabe_done.html");
     exit();
  }

?>

Also würde der Code dann so aussehen

PHP:
$suchmuster = '0';
$ersetzung = '0049';
echo preg_replace($suchmuster, $ersetzung, $nummer);

Problem ist ja auch das nur die erste Null entfernt werden darf..

Ist mein Ansatz richtig?
 
Reguläre Ausdrücken, str_replace wär mir hier zu unsicher.
 
Cool. Danke dir. Wenn ich die erste variable in $nummer2 machen und den Rest von mir anpasse funktioniert es!

Gruß Maddoc
 
Zurück
Oben