suche per javascript

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

  • suche per javascript

    guten tag

    ich habe da mal eine frage: ist es grundsätzlich möglich, per javascript auf einer seite nach einem bestimmten text zu suchen?
    ich habe z.b einen 10 seite langen text und ich möchte eine suche bauen, mit der man immer zum nächsten treffer springen kann.

    der text wird bis jetzt ohne spezielle html tags ausgegeben.

    vielen dank für die anregungen
    First: Things get worse under pressure.
    Second: If anything just cannot go wrong, it will anyway
    Third: A falling object will always land where it can do the most damage.

  • #2
    ja, es ist möglich.
    die selfhtml-suche arbeitet jedenfalls mit js

    Kommentar


    • #3
      wahrscheinlich ist es nicht ganz klar, was ich eigentlich möchte..

      ich versuche es nocheinmal zu schildern:

      ich habe einen seitenlangen text.

      jetzt möchte ich alle wörter highlighten (z.b Fett markieren) in welchen "der" vorkommt.
      dies habe ich bis jetzt mit php gemacht.

      nun möchte ich jedoch, von eintrag zu eintrag "springen" können. Am besten wäre es, wenn sie markiert wären (ähnlich wie die suche vom internet explorer)
      First: Things get worse under pressure.
      Second: If anything just cannot go wrong, it will anyway
      Third: A falling object will always land where it can do the most damage.

      Kommentar


      • #4
        wenn du das highlighten per php machst, kannst du auch dynamisch anker setzen ... die anzahl in eine js-variable schreiben und und dann per schleife mit confirm() nacheinander anspringen. mal als idee.
        Kissolino.com

        Kommentar


        • #5
          darf man fragen, wiso du ein gute suche so ändern willst?
          ich sehe nicht viel mehrwert. sonst kann ich mir vorstellen, dass du das weiterhin mit php machen kannst, wenn man dann auf nen button klickt kommt der nächste treffer. du kannst ja deine alte suchfunktion nehmen und die treffer durchnummerieren lassen. dann soll bei klick auf den button die variable $aktuellertreffer um eins vergrössert werden, also der nächste treffer angezeigt werden. mit dem springen geht das denke ich mal nur mit variabel erstellten ankern. würde es ned mit js machen, da man das ja deaktivieren kann

          Kommentar


          • #6
            vielen dank für die tipps.
            hätte ja eigentlich selber draufkommen können.

            weisst du gerade auswendig, wie ich einen anker ansprichen kann, ohne die seite neu zu laden?
            First: Things get worse under pressure.
            Second: If anything just cannot go wrong, it will anyway
            Third: A falling object will always land where it can do the most damage.

            Kommentar


            • #7
              Original geschrieben von Viper1985
              weisst du gerade auswendig, wie ich einen anker ansprichen kann, ohne die seite neu zu laden?
              falls du mich meinst, versuchs mal mit
              Code:
              window.location.href='#anker'+variable;
              war ne spontane idee, also ungetestet
              Kissolino.com

              Kommentar


              • #8
                hmmm ok.

                nun habe ich aber ein problem. wie kann ich zählen, wieviele elemente gefunden wurden?
                PHP-Code:
                $return_text preg_replace ($def_highlight_arr,"<span style='font-weight:bold;color:#cc6600'>\\1</span>",$text); 
                Das kann ich ja nicht in eine Schleife nehmen. wie kann ich es anstellen, pro treffer eine variable zu setzen?

                PHP-Code:
                $return_text preg_replace ($def_highlight_arr,"<a name='" $variable "'></a><span style='font-weight:bold;color:#cc6600'>\\1</span>",$text); 
                es sollte ja dann irgendwie so aussehen, oder?
                First: Things get worse under pressure.
                Second: If anything just cannot go wrong, it will anyway
                Third: A falling object will always land where it can do the most damage.

                Kommentar


                • #9
                  PHP-Code:
                  <?php
                  $i
                  =0;
                  function 
                  test($str)
                  {
                      global 
                  $i;
                      
                  $i++;
                      return 
                  $i.'<span style="color:red">'.$str.'</span>';
                  }

                  $text 'amnbsmnabsm basmnbsa ANKER sldkjasd lkjd kj dlkajs ljdlkjslasj
                           dl ANKER ksdhksjh dkasjdhjkadsh ANKER jsklajlksdjl.'
                  ;

                  echo 
                  $text preg_replace("!(ANKER)!e"'test("$1")'$text);
                  ?>
                  quick 'n dirty ... frohes fest.
                  Kissolino.com

                  Kommentar

                  Lädt...
                  X