Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP - Explode bei letztem Unterstrich?

Einklappen

Neue Werbung 2019

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

  • PHP - Explode bei letztem Unterstrich?

    Hallo!

    Ich habe momentan Datensätze in bspw. folgender Form: max.muster@mail.de_10.02.1988
    Jetzt trenne ich die Mail und das Datum mittels einem Explode - als Trennung den Unterstrich.
    Logischerweise erhalte ich dann ein Array mit [0] der eMail und [1] dem Geburtsdatum als Ergebnis.

    Was aber tun, wenn die eMail-Adresse schon einen Unterstrich enthält? Bspw. max_muster@mail.de_10.02.1988
    Kann ich in der Explode-Funktion angeben, dass er die Trennung nur am letzten Unterstrich durchführen kann?
    Oder gibt es eine Alternative Möglichkeit, die mir gerade nicht einfällt?

    Ziel soll es sein, ein Array mit zwei Elemente zu bekommen, wie ich es oben bereits angegeben habe.

    VG, David

  • #2
    Dann musst du wohl erstmal nach dem *letzten* index des Unterstrichs suchen...
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      preg_split() könnte das auch, falls du Lust auf reguläre Ausdrücke hast.
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Du suchst mit strpos nach dem letzten Unterstrich.
        Anhand der Position kannst du nun mit substr den letzten Teil abtrennen.

        Du kannst aber auch mit sscanf den Teil rausnehmen den du brauchst..

        Kommentar


        • #5
          Zitat von protestix Beitrag anzeigen
          Du suchst mit strpos nach dem letzten Unterstrich.
          wie wär's mit strrpos()?
          [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

          Kommentar


          • #6
            Hier hast du eine Menge Lösungen: Explode only by last delimeter

            Zum Nikolaus noch als Zugabe einer meiner gefürchteten Einzeiler:
            PHP-Code:
            $string 'max_and_lisa_muster@mail.de_10.02.1988';

            list(
            $date,$mail) = array_map('strrev',explode('_'strrev($string),2)); 

            Kommentar

            Lädt...
            X