Doppeltes löschen

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

  • Doppeltes löschen

    ... schon wieder ich.

    habe versucht, ein doppeltes Array zu löschen - leider ohne Erfolg.

    Also, durch ein Formular werden Keywords eingegeben.
    Werden mehrere genutzt, setze ich diese in ein Array.

    Später wird dann Ausgewertet (siehe meine andere Frage)

    Gibt man nun 2 Leerzeichen ein, spinnt die Abfrage und gibt trotz falscher Keywords ein Ergebnis aus.

    Ich Denke, man muß das doppelte Leerzeichen löschen ... oder

    Wenn ja, aber WIE


    Ufz.....

  • #2
    PHP-Code:
    $x=array('Apfel','Birne','Apfel','Kirsche');

    $x=array_unique($x); 
    dann hat $x nurnoch

    Apfel Birne Kirsche
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      ja aber ....

      hab noch nicht erwähnt das es auch drei oder mehr LZ sein könnten, wenn ein USER z.B, nach einer tollen Nacht noch etwas zittrig ist

      Ich müsste also alle doppelten Leerzeichen erkennen....

      Kommentar


      • #4
        dann solange machen, bis es nichts mehr zum ersetzen gibt?
        PHP-Code:
        $text='';
        while(
        $text!=$input)
           
        $ínput=str_replace("  "," ",$text=$input); 
        oder nen regulären Ausdruck
        PHP-Code:
        $input="#[ ]+#i"," ",$input); // ungetestet 
        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar


        • #5
          mmmmm....

          gibt immer nur beides getestet

          Parse error

          hier mal der codeauszug
          PHP-Code:
          // Test ob Suchworte eingegeben
          $suchen $suchtext;
          if  (
          $suchen == "" )
           {
            echo 
          "<center><br><br><span class='text'>Es wurde kein Suchbegriff eingegeben</span>";
           }
          else
          {
          //Leerzeichen am Anfang und Ende werden entfernt
          $resulta trim($suchen);
          // Doppelte Leerzeichen werden entfernt und Eingabe wird in array gelesen

          $result="#[ ]+#i"," ",$resulta);

          $keyexplode(" ",$result);
          // Textausgabe der Suchworte
          echo "<br>Die Suche nach&nbsp;";
                for (
          $x ;$x count ($key); $x $x +1):
                echo 
          "<b>"$key[$x] . "</b>&nbsp;";
                endfor;

          echo 
          "&nbsp;ergab folgendes Ergebnis:<br><br><b>";
          require(
          "zugang/zugang.php");
          // ---Suche --- ...... 

          Kommentar


          • #6
            ist noch früh am Morgen, muß natürlich heißen
            PHP-Code:
            $input=preg_replace("#[ ]+#i"," ",$input); 
            TBT

            Die zwei wichtigsten Regeln für eine berufliche Karriere:
            1. Verrate niemals alles was du weißt!


            PHP 2 AllPatrizier II Browsergame

            Kommentar


            • #7
              Ups.....

              ..der code

              PHP-Code:
              <?php
              //Leerzeichen am Anfang und Ende der Zeichenkette werden entfernt
              $auslesen trim($suchtext);
              // Doppelte Leerzeichen werden entfernt und Eingabe wird in array gelesen
              $text=$auslesen;
              while(
              $text!=$input)
              $result=preg_replace("#[ ]+#i"," ",$input);
              $keyexplode(" ",$result);
              // Test ob Suchworte eingegeben
              if  ($key == "" )
               {
                echo 
              "<center><br><br><span class='text'>Es wurde kein Suchbegriff eingegeben</span>";
               }

              else
              {

              // Textausgabe der Suchworte
              echo "<br>Die Suche nach&nbsp;";
                    for (
              $x ;$x count ($key); $x $x +1):
                    echo 
              "<b>"$key[$x] . "</b>&nbsp;";
                    endfor;

              echo 
              "&nbsp;ergab folgendes Ergebnis:<br><br><b>";
              require(
              "zugang/zugang.php");
              // ---Suche ---
              ... die Antwort

              Fatal error: Maximum execution time of 30 seconds exceeded in c:\apache\htdocs\suchen\suche.php on line 27

              Kommentar


              • #8
                ... geschafft

                So läufts (beim Testen) bis jetzt


                PHP-Code:
                <?php
                //Leerzeichen am Anfang und Ende der Zeichenkette werden entfernt
                $lesen trim($suchtext);
                // Test ob Suchworte eingegeben
                if  ($lesen == "" )
                 {
                  echo 
                "<center><br><br><span class='text'>Es wurde kein Suchbegriff eingegeben</span>";
                 }

                else
                {
                // Doppelte Leerzeichen werden entfernt und Eingabe wird in array gelesen
                $input=$lesen;
                $input=preg_replace("#[  ]+#i"," ",$input);
                $keyexplode(" ",$input);
                // Textausgabe der Suchworte
                echo "<br>Die Suche nach&nbsp;";
                      for (
                $x ;$x count ($key); $x $x +1):
                      echo 
                "<b>"$key[$x] . "</b>&nbsp;";
                      endfor;

                echo 
                "&nbsp;ergab folgendes Ergebnis:<br><br><b>";
                require(
                "zugang/zugang.php");
                // ---Suche ---
                Dank Euch (... ihr Sowjetsoldaten .... )

                Kleiner Witz - nicht übelnehmen (ist ein Lied aus meiner Schulzeit)
                Zuletzt geändert von hinni; 24.09.2002, 13:07.

                Kommentar


                • #9
                  du solltest unnötige Zuweisungen etc. rausnehmen.
                  Das kostet nur Rechenleistungen und Speicher
                  PHP-Code:
                  if ( !( $lesen trim$suchtext ) ) )
                      echo 
                  "<center><br><br><span class='text'>Es wurde kein Suchbegriff eingegeben</span>";
                  else {
                      
                  // Extrazuweisung von $lesen nach $input unnötig
                      
                  $key explode" "preg_replace"#[  ]+#i"" "$lesen ) ); 
                      echo 
                  "<br>Die Suche nach&nbsp;";
                      
                  // count vorher machen, sonst wird dieser bei jedem Schleifenducrhlauf neu berechnet
                      
                  $count=count($key);
                      
                  // ++$i ist schneller als $i=$i+1
                      // was war das für eine seltsame Schleife ?
                      
                  for ( $x $x $count ; ++$x )
                          echo 
                  "<b>" $key[$x] . "</b>&nbsp;";
                      echo 
                  "&nbsp;ergab folgendes Ergebnis:<br><br><b>";
                      require( 
                  "zugang/zugang.php" ); 
                      
                  // ---Suche --- 
                      // ...

                  TBT

                  Die zwei wichtigsten Regeln für eine berufliche Karriere:
                  1. Verrate niemals alles was du weißt!


                  PHP 2 AllPatrizier II Browsergame

                  Kommentar


                  • #10
                    danke

                    danke für die Hinweise.

                    Hatte es bis jetzt noch nicht so mit Schleifen ....

                    Da hab ich mich halt mit Literatur so durchgewurschtelt

                    Kommentar

                    Lädt...
                    X