String zerlegen und ausgeben

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

  • #16
    Ich habe langeweile gehabt, was könnte man "schöner" machen?

    PHP-Code:
    <?php

      
    if(isset($_POST["Addresse"])) {
        
    $Addresse $_POST["Addresse"]; // 66666 Berlin
        
    $teile explode(" "$Addresse);
        
        
    $anzahl count($teile);
        
        
    //Wurde uberhaupt eine PLZ UND ein Ort angegeben!
        
    if($anzahl 2) {
        echo 
    'Sie haben keinen korrekten Ort angegeben';
        }
        
    $anzahl $anzahl 1;
        
    $vorhanden = array("0","1","2","3","4","5","6","7","8","9");
        
    $found = array("0","0","0","0","0","0");
        
    $i 0;
        
    $summe 0;
        
    //PLZ Zuordnen!!!
        
    if(strlen($teile[0]) == "5") {
          foreach(
    $vorhanden as $zahl){
            if((
    $albern strpos($teile[0],$zahl)) !== false){
              
    $found[$i] = substr_count($teile[0],$zahl);
              
    $i++;
              }
            }
          foreach(
    $found as $a) {
            
    $summe $summe+$a;
            }
        }
         
    // Ist eine vollständige Nummer von 5 Zahlen angebenen worden!
        
    if($summe != "5"){
          
    //Wenn nicht, überprüfe das letzte Arrayfeld!!!
          
    if(strlen($teile[$anzahl]) == "5") {
            foreach(
    $vorhanden as $zahl){
            if((
    $albern strpos($teile[$anzahl],$zahl)) !== false){
              
    $found[$i] = substr_count($teile[$anzahl],$zahl);
              
    $i++;
              }
            }
            
              foreach(
    $found as $a) {
              
    $summe $summe+$a;
              }
              
    // Ist eine vollständige Nummer von 5 Zahlen angebenen worden!
              
    if($summe == "5") {
                
    $PLZ $teile[$anzahl];
                unset (
    $teile[$anzahl]);
                
    $wohnort implode(" ",$teile);
                echo 
    'Ihre PLZ ist: '.$PLZ.' und sie wohnen in '.$wohnort;
                } else {
                  echo 
    ' 1Es wurde keine gültige PLZ angegeben!';
                }
                 
          } else {
            echo 
    '2Es wurde keine gültige PLZ angegeben!';
          }
              
      } else {
        
    $PLZ $teile[0];
        unset (
    $teile[0]);
        
    $wohnort implode(" ",$teile);
        echo 
    'Ihre PLZ ist: '.$PLZ.' und sie wohnen in '.$wohnort;
      }
        
          
      } else {
          
          echo 
    '  <form method="POST" action="index.php">
                  <input type="text" name="Addresse">
                  <input type="submit" value="Abschicken">
                  </form>'
    ;        
      }
                  
    ?>
    Das Überprüft wo die PLZ steht, ob es eine gültige ist(Deutschland) und gibt am Ende das dann aus! Egal ob der Stadtname nur "Berlin" oder Frankfurt am Main ist.

    Gruß Sky
    Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

    Kommentar


    • #17
      Hallo Skywalker077,

      vielleicht siehst du dir mal reguläre Muster an:

      PHP-Code:
      <?php
      $a
      ='12345 Berlin';
      preg_match('|(\d{5}) (.*)|',$a,$matches);
      print_r($matches);
      ?>

      Kommentar


      • #18
        Danke für den Tipp!
        Ich habe mich immer von Preg_Match distanziert weil geschrieben steht, das es viele Ressourcen braucht!

        Die Lösung zieht aber wirklich eleganter aus =)
        PHP-Code:
          if(isset($_POST["Addresse"])) {
            
        $Addresse $_POST["Addresse"]; // 66666 Berlin 
            
        preg_match('|(\d{5}) (.*)|',$Addresse,$matches); 
            if(
        array_count_values ($matches) == FALSE) {
              
        preg_match('|(.*) (\d{5})|',$Addresse,$matches);
                if(
        array_count_values ($matches) == FALSE) {
                  echo 
        'Sie haben keine PLZ angegeben';
                  } else {
                    echo 
        'Ihre Addresse ist '.$matches[2].' '.$matches[1];
                    }
              } else {
                echo 
        'Ihre Addresse ist '.$matches[0];
                }    
          } else { 
              
              echo 
        '  <form method="POST" action="index.php">
                      <input type="text" name="Addresse">
                      <input type="submit" value="Abschicken">
                      </form>'
        ;        
          } 
        Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

        Kommentar


        • #19
          Danke das hat geklappt. Und die Lektürempfehlung sind rihtig gut jetzt kann es ja nur noch besser werden.

          Gruß Oldie

          Kommentar

          Lädt...
          X