Doppeltes löschen

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

  • 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

    Comment


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

      Comment


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

        Comment


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

          Comment


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

            Comment


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

              Comment


              • #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)
                Last edited by hinni; 24-09-2002, 12:07.

                Comment


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

                  Comment


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

                    Comment

                    Working...
                    X