[Funktion] eregi_replace

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

  • [Funktion] eregi_replace

    Hallo !

    Habe mir folgendes gebaut an sich klappt es ja auch nur wenn
    ich mehr wie ein word mit in die suche gebe lapt es nicht mehr.
    Wie kann ich dieses problem lösen ?
    und diese ist mein code

    PHP-Code:
    function highlight_results($inhalt,$bg="#FFFF00") {
        global 
    $suchen;
    $suchmuster '(>[^<]*)('quotemeta($suchen) .')';
    $ersatz '\\1<span style="background-color: '.$bg.'">\\2</span>';
    $inhalt eregi_replace($suchmuster$ersatz$inhalt);
    return 
    $inhalt;

    Mfg Clamsy

  • #2
    Bei mir klappt's wunderbar:

    Code:
    $suchen = 'test test';
    $suchmuster = '(>[^<]*)('. quotemeta($suchen) .')';
    $ersatz = '\1<span style="background-color: #FFFF00;">\\2</span>';
    
    $inhalt = '>asdasddtest test';
    $inhalt = eregi_replace($suchmuster, $ersatz, $inhalt);
    echo $inhalt;

    Kommentar


    • #3
      mh nehme ich ein word geht es auch aber nehme ich mehrere dann nicht mehr
      Mfg Clamsy

      Kommentar


      • #4
        In meinem Beispiel habe ich doch mehrere Worte verwendet. Welche PHP version benutzt du?

        Kommentar


        • #5
          habe PHP Version 4.4.2-pl1
          Mfg Clamsy

          Kommentar


          • #6
            Wie genau sieht dein Searchstring aus? Steht da noch irgendwas hinter den gesuchten Worten?

            Kommentar


            • #7
              im borwser sieht es so aus
              Code:
              http://meine-domain.de/suchen.php?suchen=registrieren%20besser
              Mfg Clamsy

              Kommentar


              • #8
                ach so, ne, ich mein im string $inhalt, wie sieht der aus. Steht da noch was hinter den Worten die du suchst? Weil dein Pattern nur greift wenn da nix mehr hinter den gesuchten Wörtern steht...

                Kommentar


                • #9
                  meinst du das ?
                  PHP-Code:
                  highlight_results($message); 
                  Mfg Clamsy

                  Kommentar


                  • #10
                    Wärmer, noch wärmer... was steht denn in Message drinne?

                    Kommentar


                    • #11
                      wird aus der datenbank ausgelesen.
                      Mfg Clamsy

                      Kommentar


                      • #12
                        Weißt du warum ich wissen möchte was in dem String steht? Wenn ja (steht 4 Posts weiter oben), überprüf das mal bitte. Wenn nein: Dein Pattern funktioniert nur solange die gesuchten Worte am Ende deines Strings stehen, sonst nicht. Könnte das vielleicht der Fehler sein?
                        Abgesehen davon, 2 Dinge: benutze erstens PCRE-Funktionen (schneller), und zweitens, suche getrennt nach den worten falls es nicht Absicht ist dass die nur in kombination highlightet werden sollen.

                        Kommentar


                        • #13
                          die suche
                          PHP-Code:
                          if(isset($_GET['suchen'])) $suchen trim($_GET['suchen']);
                              else 
                          $suchen ""

                          mein text hole ich so

                          PHP-Code:
                                  $row mysql_fetch_array($result);{
                                  
                          $message $row['message'];
                                  
                          $message highlight_results($message);

                          Mfg Clamsy

                          Kommentar


                          • #14
                            Viel wichtiger ist, was drinne steht (Beispielsweise)!

                            Kommentar

                            Lädt...
                            X