preg_match_all * suchmuster festlegen???

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

  • preg_match_all * suchmuster festlegen???

    Hallo.

    Habe ein "Problem".
    Ich möchte über ein Formular (ein Textfeld) einen Text einfügen der Elemente (Worte, Zahlen) besitzt die IMMER am gleichen Platz & in gleicher Schreibweise auftreten. Allerdings haben diese Elemente im Text Werte hinzugefügt bekommen (Worte, Zahlen -> z.b. HAUSNUMMER 12 - HAUSNUMMER_ ist hier das feste Element das immer existiert, 12 ist die variable Zahl).

    Ich möchte im obigen Beispiel die '12' in eine Variable speichern um mit ihr weiter zu arbeiten. Die Zahl kann aber auch 123.456.789 heißen, in diesem Fall soll die Zahl ohne die Tausendertrennzeichen "." oder "," gespeichert werden, um eben eine pure INT Variable zu haben die nur aus ganzen Zahlen besteht.

    Habe dazu folgendes geschrieben:

    HTML Formular über welches der Text mit den festen und variablen Elementen ertragen wird:

    Code:
    <form action="" method="post">
    <textarea name="bericht" id="bericht" cols="40" rows="20"></textarea>
    <input type="submit" value="eintragen">
    </form>
    Und den PHP Block:

    Code:
     
    <?php
    $subject = $_POST['bericht'];
    
    preg_match_all('/HAUSNUMMER \d{1,1000}/', $subject, $result, PREG_PATTERN_ORDER);
    $hausnummer = $result[0][0];
    
    print "Hausnummer: $hausnummer";
    ?>
    Ausserdem möchte ich in der Variable $hausnummer NUR die Zahl speichern, im Moment wird auch der Text darin gespeichert, womit ich nichts anfangen kann weil ich ausschließlich die Zahl ohne Trennzeichen oder sonstiges benötige.

    Hoffe mir kann jemand helfen, habe mir bereits viele Tut's angeschaut und in meinem Buch nachgeschaut (preg_match_all), verstehe aber immernoch nicht die korrekte Schreibweise der Suchmuster mit diesen ganzen // \ *. () // \ usw. :P

    MfG, Hardstyle

  • #2
    Dann benutz mal print_r in Verbindung mit $result und schau dir das Ergebnis an.

    Tip: Vor das print_r noch nen <pre>-Tag setzen.
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar

    Lädt...
    X