nur Zahlen zulassen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • nur Zahlen zulassen

    Moin,

    ich kämpf mich shcon seit über ner Stunde durch reg_exp, doch irgendwie bekomme ich es einfach nicht hin.
    Ich möchte alles was keine Zahl ist (also alle Buchstaben + Sondrzeichen) in einem String entfernen.
    Buchstaben ist ja kein Problem:

    ereg_replace("([A-Za-z])", "", $string);

    doch wie muss das für Sonderzeichen aussehen????

  • #2
    zunächst mal ist preg_replace oftmals schneller als ereg_replace, also solltest du diese Funktion verwenden.

    Du kannst die Zeichenklasse einfach invertieren. [^0-9] bedeutet z.B. "alles ausser 0 bis 9". Statt 0-9 kannst du auch \d schreiben, also: [^\d]. Oder gleich \D für alle "nicht-Zahlen" verwenden: [\D]. Wobei du dir dann auch noch die definition einer Zeichenklasse sparen kannst:

    preg_replace('/\D/', '', $string);
    Zuletzt geändert von phoboslab; 22.03.2006, 10:21.

    Kommentar


    • #3
      Moin

      Ohne gewähr....
      PHP-Code:
      preg_replace('/[^\\-?\\d*\\.?\\d+]/im','',$subject); 
      ist wie gesagt nur schnell hingeschrieben und ungetestet...

      greets

      //EDIT hmm da war ich zu langsam
      Zuletzt geändert von closure; 22.03.2006, 10:25.
      (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

      Kommentar

      Lädt...
      X