String zerlegen und ausgeben

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #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

    Comment


    • #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);
      ?>

      Comment


      • #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

        Comment


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

          Gruß Oldie

          Comment

          Working...
          X