[Funktion] eregi_replace

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

  • [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;

    Comment


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

      Comment


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

        Comment


        • #5
          habe PHP Version 4.4.2-pl1
          Mfg Clamsy

          Comment


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

            Comment


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

              Comment


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

                Comment


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

                  Comment


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

                    Comment


                    • #11
                      wird aus der datenbank ausgelesen.
                      Mfg Clamsy

                      Comment


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

                        Comment


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

                          Comment


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

                            Comment

                            Working...
                            X