Suchergebnis markieren

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

  • Suchergebnis markieren

    Grüss euch!

    Ich habe eine kleine Suchmaschine für die DB eingerichtet. Kann mir jemand sagen,
    wie ich den Suchbegriff im Suchergebnis fett markieren kann?
    Hochachtungsvoll
    pingzaong

  • #2
    PHP-Code:
    $suchergebnis str_replace ($suchbegriff,'<strong>'.$suchbegriff.'</strong>',$suchergebnis
    z.b.

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      warum bin ich nicht auf diese Lösung gekommen?

      Dankeschön!
      Hochachtungsvoll
      pingzaong

      Kommentar


      • #4
        Original geschrieben von pingzaong
        warum bin ich nicht auf diese Lösung gekommen?

        Dankeschön!
        pingzaong
        Beiträge: 53

        kropff
        Beiträge: 1826



        alles erfahrung, kommt bei dir auch noch.

        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Original geschrieben von Kropff
          alles erfahrung, kommt bei dir auch noch.
          naja, ich hatte schon mehr zu tun mit diesem Befehl.
          Hochachtungsvoll
          pingzaong

          Kommentar


          • #6
            Original geschrieben von pingzaong
            naja, ich hatte schon mehr zu tun mit diesem Befehl.
            OffTopic:
            dann in die ecke und schäm dich ;-)



            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Hochachtungsvoll
              pingzaong

              Kommentar


              • #8
                Nur ein kleiner Tipp: Arbeite besser mit preg_replace und den Backreferences.
                Bsp:
                der User will 'er' suchen die im String enthalten sind ohne Rücksicht auf die Gross-Kleinschreibung.
                Deine Suchfkt findet 'Erfahren Sie mehr über mich' und wird daraus '<strong>er</strong>fahren Sie mehr über mich' drausmachen. Du verlierst so die Gross-Kleinschreibung, wie sie vorher war.
                PHP-Code:
                preg_replace('/$suchbegriff/i','<strong>$1</strong>',$string); 
                Dieser RegExp sucht suchbegriff ohne Gross-Kleinschreibung und ersetzt mit dem Suchtreffer (d.h. Gross Kleinschreibung bleibt im Resultat gewahrt)
                Ich würde auf jeden Fall diese Version vorziehen, da RegExp sehr flexibel sind.

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Hmm, stimmt, str_replace ignoriert die Klein/Grossschreibung nicht. Aber mit preg_replace funktioniert es bis jetzt auch nicht.

                  wie wärs mit eregi_replace?
                  Zuletzt geändert von pingzaong; 05.01.2006, 14:19.
                  Hochachtungsvoll
                  pingzaong

                  Kommentar


                  • #10
                    Würde ich dir nicht empfehlen, da diese Funktion recht langsam ist.

                    Kommentar


                    • #11
                      Aber mit preg_replace funktioniert es bis jetzt auch nicht
                      Sollte aber schon, denn so funzt die Suche auf meiner Seite auch.
                      Probier noch das
                      PHP-Code:
                      preg_replace('/$suchbegriff/i','<strong>\\\\1</strong>',$string); 

                      Gruss

                      tobi

                      p.s. sind nur zwei \ und nicht vier. Musste aber vier machen damit das Forum zwei anzeigt
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        Naja, deine Lösung funktioniert genauso wie die hier:

                        PHP-Code:
                        $suchergebnis eregi_replace ($suchwort,"<b>$suchwort</b>",$suchergebnis); 
                        Hochachtungsvoll
                        pingzaong

                        Kommentar


                        • #13
                          Nein das tut sie zu 100 % nicht.
                          Du suchst nach irendwat mit 'er' ohne Gross Klein. Deine Fkt wird dir immer noch 'Er' mit dem Suchbegriff d.h. 'er' ersetzen.
                          Wenn du das machst
                          PHP-Code:
                          $suchergebnis eregi_replace($suchwort,"<b>$1</b>",$suchergebnis); 
                          Dann funzt es so wie meine RegExp. Du musst mit Backreferences arbeiten sonst geht's nicht sauber.

                          Gruss

                          tobi
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #14
                            in den "code-schnippseln" gibt es eine hervorragende lösung von einem der moderatoren (mr.happiness? ich vergaß...)

                            Kommentar

                            Lädt...
                            X