Groß - Kleinschreibung in Suchausgabe

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

  • Groß - Kleinschreibung in Suchausgabe

    Hi,

    ich habe eine kleine Datenbank basierend auf MySQL.
    Wenn man nun in einer Suchmaske ein Suchwort z.b. "Wik" sucht, dann sollen alle Ergebnisse je nachdem, was in der DB steht, Gross oder kleingeschrieben werden.

    ( PHP Version > 4.3.x, MySQL 3.23.49)

    Genauer: In der DB existieren zum Begriff "Wik" 2 Datensätze:
    "Kiel - Wik" und "Flensburg - Mürwik"

    Nun soll im Suchergebnis das Suchwort "Wik" im ersten Datensatz mit grossem Anfangsbuchstaben ausgegeben werden, im 2. Datensatz natürlich klein.

    Quasi sollen die Ergebnisse so ausgegeben werden, wie auch in der Datenbank vorhanden sind, und nicht wie die Sucheingabe lautete.

    Wenn ich also nach WIK, wik oder Wik suche, soll die Ausgabe korrekt erscheinen.

    mit
    PHP-Code:
    strtoupper 
    war mir nicht geholfen, und
    PHP-Code:
    ucfirst 
    auch nicht.

    Hier ein Beispielcode für "Wik" als Ausgabe:
    PHP-Code:
    // Eingabe der Suchmaske
    $search 'wik';

    //Inhalt der Datenbank
    $text 'Kiel - Wik';
    $text1 ucfirst ($search);

    $out eregi_replace$text1"<u>".$text1."</u>"$text);

    echo 
    $out
    Und hier für wik als Ausgabe:
    PHP-Code:
    // Eingabe der Suchmaske
    $search 'wik';

    //Inhalt der Datenbank
    $text 'Flensburg - Mürwik';
    $text1 ucfirst ($search);

    $out eregi_replace$text1"<u>".$text1."</u>"$text);

    echo 
    $out
    Ich hoffe, meine Belange waren soweit klar.

    Für jede Hilfe bin ich dankbar.

    Gruss,
    Ben
    Zuletzt geändert von djconan; 12.03.2004, 09:05.

  • #2
    ich versteh's nich

    du bekommst die daten aus der datenbank doch so, wie sie in der datenbank stehen

    wenn du jetzt willst, dass gefundene suchbegriffe unterstrichen werden, sollte
    PHP-Code:
    $out=preg_replace('%wik%siU''<u>$1</u>'$text); 
    funktionieren
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      nimm preg_replace ist besser.

      dann guckst du dir mal bachreferences (s. Tutorial Reguläre Ausdrücke) an und feddisch!

      BTW: suche hilft sicher auch.
      EDIT:
      oder lass dir den fertigen code von anderen leuten posten.

      Kommentar


      • #4
        Oh man, manchmal ist die Lösung viel näher und leichter, als man eigentlich denkt. Genau dat hab ich gesucht.... *Kopfschüttel*

        Danke sehr...

        Kommentar


        • #5
          Warum so leicht verärgert TobiaZ?

          Nur weil man mir hier mir direkt einen Lösungsvorschlag gepostet hat?
          Nun, ein wenig musste ich die ja auch selber noch anpassen.
          Die Suche hatte ich auch genutzt, jedoch habe ich dabei wohl mich zusehr auf Datenbanken konzentriert.

          Danke aber für die Anregungen.

          Gruss,
          Ben

          Kommentar


          • #6
            Ach so, die Lösungshilfe funzt nicht.

            Es wird Flensburg - MürWIK ausgegeben.
            Eigentlich sollte ja Flensburg - Mürwik als Ausgabe erfolgen.

            Nu weiss ich wirklich nicht weiter...

            PHP-Code:
            // Eingabe der Suchmaske
            $search 'WIK';

            //Inhalt der Datenbank
            $text 'Flensburg - Mürwik';

            $ausgabe preg_replace("%$search%siU""<u>".$search."</u>"$text);

            echo 
            $ausgabe

            Kommentar


            • #7
              So, dat Problem is behoben.

              Und zwar so:
              PHP-Code:
              // Eingabe der Suchmaske 
              $search_mask_ort "WIK"

              //Inhalt der Datenbank 
              $ort "Flensburg - Mürwik";

              $text stristr($ort $search_mask_ort); 

              $ausgabe str_replace($text"<u>".$text."</u>"$ort); 

              echo 
              $ausgabe

              Kommentar


              • #8
                da siehtste, warum ich davon nichts halte. Das Zauberwort sind Backreferences.

                Kommentar


                • #9
                  wenn du $1 verwendet hättest, so wie ich in meinem beispiel, dann wäre es gegangen, aber du wolltest ja unbedingt deinen suchbegriff da reinschreiben...
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    woher soll man wissen, das $1 =! $suchtext, wenn man das was dahinter steckt nicht versteht?

                    Kommentar

                    Lädt...
                    X