Armin: javascript soll html nach wort durchsuchen

hallo,

ich habe diese frage schon vor ein - zwei wochen gestellt, doch da konnte keine für mich geeignete antwort gefunden werden. (Ich will mich nicht beklagen, die kommentare waren gut, nur ich konnte damit leider nichts anfangen...)

Noch einmal kurz das problem: Ich habe eine netseite in html und möchte, dass javascript diese seite auf befehl nach einem bestimmten wort durchsucht & sollte js etwas finden, dann soll dieses wort rot eingefärbt werden...

Ist das möglich, und wenn ja, wie?

Bitte helft mir, ich bin verzweifelt!!

Lg, armin

  1. Hello out there!

    ich habe diese frage schon vor ein - zwei wochen gestellt, doch da konnte keine für mich geeignete antwort gefunden werden. (Ich will mich nicht beklagen, die kommentare waren gut, nur ich konnte damit leider nichts anfangen...)

    Und, willst du, dass sich Antwortende die Mühe machen, wieder gute Antworten zu verfassen, mit denen du aber wieder nichts anfangen kannst?

    Suche deinen Thread im Archiv und verlinke ihn, damit man sich ein Bild machen kann, woran 's fehlt. Noch besser natürlich, du schilderst, wo genau deine Probleme sind.

    See ya up the road,
    Gunnar

    --
    „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
    1. hallo

      tut mir leid: also das problem genau:

      ich programmiere eine eine seite für unsere pfarre, und da habe ich eine ministrantenliste, die über 2 Monate geht. Nun möchte ich, dass man mithilfe einer Auswahlbox (select), alle namen eines ministranten auf anhieb sieht... ist das vorstellbar? das genze wäre nach möglichkeit auf einer seite...

      Lg

      1. Hi Armin,

        Nun möchte ich, dass man mithilfe einer Auswahlbox (select), alle namen eines ministranten auf anhieb sieht...

        wo (in welchem HTML?) soll da denn dein Javascript nach diesen Namen suchen? Die Namen müssen ja erstmal irgendwie auf deinen Server kommen, falls du sie da nicht schon irgenwie vorliegen hast.

        Aber wenn du z.B. PHP und MySQL auf deinem Server zur Verfügung hast, kannst du dort alle möglichen Daten in einer Datenbank speichern und sie in deiner Webseite nach unterschiedlichen (Such-)kriterien ausgeben. Z.B in Selects, da kann der Pfarrer sich dann einen Ministranten auswählen und kriegt den dann mit Adresse, Sündenregister etc. angezeigt. Genauso kannst du dann auch in die Datenbank reinschreiben lassen, von berechtigten Benutzern über HTML (bzw. PHP)-Seiten, die in einem geschützten Bereich liegen. Meinst du sowas?

        Gruß
        Antipitch

        PS:

        alle namen eines ministranten
        ...ist das vorstellbar?

      2. Mahlzeit,

        ich programmiere eine eine seite für unsere pfarre, und da habe ich eine ministrantenliste, die über 2 Monate geht. Nun möchte ich, dass man mithilfe einer Auswahlbox (select), alle namen eines ministranten auf anhieb sieht... ist das vorstellbar? das genze wäre nach möglichkeit auf einer seite...

        Da ich meine gute Tat für heute bisher noch nicht getan hab und grad eh nix anderes zu tun und deshalb Langeweile hatte, hier mal das Ergebnis der letzten Minuten:

        -----8<-----8<-----8<-----

        <html>

        <head>
        <title>Bliblablubb</title>
        <style type="text/css">

        .mark {
         background-color: #f00;
         font-weight:  bold;
         color:   #fff;
        }

        </style>
        <script type="text/javascript">

        function f_mark(p_value)
        {
         // Alten Inhalt auslesen
         var v_content = document.getElementById('content');
         var v_old = v_content.innerHTML;

        // Erstmal evtl. vorhandene alte Markierungen entfernen
         var v_pattern = new RegExp('<span class="mark">([^<]*)</span>', 'gi');
         var v_new = v_old.replace(v_pattern, '$1');

        if (p_value != '')
         {
          // Diese beiden Zeilen markieren nur ganze Wörter
          v_pattern  = new RegExp('(\W)(' + p_value + ')(\W)', 'gi');
          v_new   = v_new.replace(v_pattern, '$1<span class="mark">$2</span>$3');

        // Diese beiden Zeilen markieren alles, was passt - auch Wortteile
        //  v_pattern  = new RegExp('(' + p_value + ')', 'gi');
        //  v_new   = v_new.replace(v_pattern, '<span class="mark">$1</span>');

        }

        // Neuen Inhalt setzen
         v_content.innerHTML = v_new;
        }

        </script>
        </head>

        <body>

        <select onChange="f_mark(this.value)">
         <option value=""></option>
         <option value="Karl">Karl</option>
         <option value="Hans">Hans</option>
         <option value="Peter">Peter</option>
        </select>

        <input type="text" onKeyUp="f_mark(this.value)" />

        <div id="content">
        <ul>
         <li>Karl Klapp</li>
         <li>Hans Schranz</li>
         <li>Karl Napf</li>
         <li>Peter Meier</li>
         <li>Hans Mayer</li>
         <li>Guido Petersen</li>
         <li>Ingo Hansen</li>
         <li>Eduard Karlsson</li>
        </ul>
        </div>

        </body>

        </html>

        ----->8----->8----->8-----

        Vielleicht kannst du ja was damit anfangen ...

        MfG,
        EKKi

        1. Hyy

          jup!!! merci, das ist das, was ich meinte!! Danke, du bist mein retter! Von alleine wäre ich nie auf diesen code gekommen. Danke nochmals,

          lg,

          -amin-

  2. Mahlzeit,

    Noch einmal kurz das problem: Ich habe eine netseite in html und möchte, dass javascript diese seite auf befehl nach einem bestimmten wort durchsucht & sollte js etwas finden, dann soll dieses wort rot eingefärbt werden...

    Was genau möchtest du? Ich spekuliere mal wild ins Blaue (meine Glaskugel ist grad in Reparatur):

    1. Möglichkeit:

    • du hast auf nem Webserver eine HTML-Datei, die durchsucht werden soll
    • du hast auf dem gleichen Webserver eine Datei, in der Javascript-Code enthalten ist, der dieses Durchsuchen übernehmen soll

    Kannst du mit AJAX hinbekommen - die zweite Seite wird aufgerufen, das enthaltene JS lädt im Hintergrund die erste Seite, parst sie, versieht bestimmte Textpassagen mit Formatierungen und zeigt die Seite dann z.B. in nem <div> an.

    2. Möglichkeit:

    • die beiden Dateien liegen auf unterschiedlichen Servern

    Geht meines Wissens nach nicht, da AJAX nur auf den gleichen Host zugreifen darf.

    3. Möglichkeit:

    • alles ist in einer Datei

    Wäre mir neu, dass Javascript Zugriff auf das lokale Dateisystem hat, um die Datei, in der es selbst enthalten ist, zu öffnen, zu parsen und dann auszugeben ... ähm, wohin denn überhaupt? In sich selbst? Dann hast den Inhalt aber doppelt - einmal farbig markiert und einmal nicht.

    Vielleicht solltest du einfach mal detaillierter beschreiben, was genau du eigentlich vorhast ...

    MfG,
    EKKi