postleitzahl von stadt trennen

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

  • postleitzahl von stadt trennen

    hi,

    ich versuche gerade einen string der eine "plz ort" anschrift enthält zu zerlegen, das ich hinter her jeweils die plz und den ort als eigene variable habe.

    aber irgendwie steh in so fern auf den schlauch, das ich nicht auf " " leerzeichen exploden will - sondern lieber eine 5 stellige zahlen folge suchen würde, diese als plz nehmen und dann diese aus dem urspungsstring zB per preg_replace raus zu nehmen.

    hat da vielleicht jemand eine idee?

    grüße,
    jon
    Design & Coding with a breeze of madness at xjonx

  • #2
    /\d{5}/ sollte dir helfen

    Kommentar


    • #3
      PHP-Code:
      preg_match ('/^[0-9]{5}/',$plzort$hit
      so was?

      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        danke schon mal.

        auch wenn ich denke das es noch einfacher bzw kürzer geht, hier mein lösungsansatz:
        PHP-Code:
        $string "33615 Bielefeld";
            if (
        preg_match_all("#[0-9]#"$string$matches)) {
                
        $plz implode(''$matches[0]) ;
                
        $stadt preg_replace('#'.$plz.'#'''$string) ;
                if (
        strlen($plz) == 5) {
                    
        $adresse $plz.' '.$stadt ;
                }
            }
            if (
        $adresse == '') {
                
        $adresse $string ;
            }
            echo 
        $adresse 
        Design & Coding with a breeze of madness at xjonx

        Kommentar


        • #5
          hier mein lösungsansatz
          wieso einfach, wenn es auch kompliziert geht? preg_match reciht völlig aus. implode ist überflüssig, genau so wie preg_replace. bei letzterem reicht ein str_replace völlig aus.

          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            magst du mir einmal zeigen, wie genau du es machen würdest?
            ich meine: ok, meins läuft schon mal.

            aber wenn es sauberer geht, gerne!
            Design & Coding with a breeze of madness at xjonx

            Kommentar


            • #7
              Guck dir einmal an, was in $matches steht.

              ein Blick ins Manual (preg_match) schadet natürlich auch nicht.

              Kommentar


              • #8
                schau dir mein beispiel an, mach testausgaben und dann schau mal, was str_replace macht.

                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  ich weiß ja was in matches steht ... ein array (key 0) mit dann jeweils den einzelnen werten verpackt ... deswegen ja auch das implode ...
                  Design & Coding with a breeze of madness at xjonx

                  Kommentar


                  • #10
                    ja, weil du nur einfach auf zahlen überprüfst und mit preg_match_all arbeitest. mein beispiel enthält einen array-eintrag mit allen fünf zahlen.

                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      PHP-Code:
                          $string "33615 Bielefeld";
                          if (
                      preg_match('/^[0-9]{5}/'$string$adresse['plz'])) {
                              
                      $adresse['stadt'] = str_replace($adresse['plz'], ''$string) ;
                          }
                          if (
                      count($adresse) != 2) {
                              
                      $adresse['plz'] = $string ;
                              
                      $adresse['stadt'] = $string ;
                          } 
                      so in etwa?
                      Design & Coding with a breeze of madness at xjonx

                      Kommentar


                      • #12
                        fast. was ergibt print_r($adresse['plz'])?

                        peter
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • #13
                          jau, hab gerade schon den [0] bemerkt ...
                          Design & Coding with a breeze of madness at xjonx

                          Kommentar


                          • #14
                            ich will, da ich bei dem thema halt generell gerade bin,
                            dann auch noch meinen ansatz zum trennen von strasse
                            und hausnummer mal vorzeigen.

                            auch hier würde ich das gerne etwas sauberer machen.

                            wobei zB durch die strassen in mannheim, es hier natürlich
                            zu problemen kommen kann ... aber das ist erst mal nebensächlich.

                            PHP-Code:
                                $string "Alten Strasse 44b - 46";
                                
                                
                            $array explode(' '$string) ;
                                
                                foreach(
                            $array as $key => $value) {
                                    if (
                            preg_match('#[0-9]#'$value) && $no == '') {
                                        
                            $no $key ;
                                    }
                                }
                                for(
                            $i 0;$i <= count($array); $i++) {
                                    if (
                            $i $no) {
                                        
                            $strasse .= $array[$i].' ' ;
                                    }
                                    if (
                            $i >= $no) {
                                        
                            $hausnummer .= $array[$i].' ' ;
                                    }
                                } 
                            Design & Coding with a breeze of madness at xjonx

                            Kommentar


                            • #15
                              uch noch meinen ansatz zum trennen von strasse und hausnummer mal vorzeigen.
                              Spar dir die Mühe und benutz mal die Suche zu dem Thema. Du wirst erstaunt sein, dass es soooo viele Möglichkeiten gibt, dass es kaum sinnvoll ist, die alle Abzufragen.

                              Dein Ansatz jedenfalls ist für das was er macht, viel zu kompliziert, reicht andersherum jedoch noch lange nicht aus.

                              Kommentar

                              Lädt...
                              X