Claude: Erweiterung der DHTML.JS

Beitrag lesen

Hallo,
Habe ein kleines Javascript erstellt, um eine Seite auf meiner Homepage zu durchsuchen. Geht aber vorserst nur mit MSIE4, da ich das objekt 'all' benutze.
In der dhtml.js (aus SELFHTML) gibt es die Funktionen GetContent(), GetAttribute() usw...
Ich brauche aber ein Ersatz für:
document.all.tags("p").length
das ich in einer Schleife benutze, um anschliessend mit RegExp die verschiedene Inhalte zwischen <p> und </p> zu durchsuchen.
Zusätzlich brauche ich auch eine Art GetContent, die mir den OuterHTML liefert.
Hat jemand die dhtml.js in dieser Hinsicht schon erweitert? Wenn nein, mache ich mich ans Werk (kann dauern .... da ich Neuling in JavaScript bin).
Hier die Suchfunktion:

function searcher(suchwortges)
{
 if (NS4) {
  alert("Vorerst nur fuer MS IExplorer. An einer Loesung fuer andere Browser wird gearbeitet ...");
  return;
 }
 if (suchwortges.length <2) {
  alert("Geben Sie mindestens 2 Zeichen ein!");
  return;
 }
var inhalttxt = new Array();   //der Text-Inhalt zum durchsuchen
var inhalthtml = new Array();  //den gesamten Text, für wiedergabe
//var suchwortges = "tipp com netz wlan";  //vorerst fest, zum testen
var suchwortanz = 0;    // Anzahl der Suchwörter
var suchwort;
var anzp;
var ergzw = 0;     //zwischenergebnis für jedes Wort
var treffer = 0;
var meldung = "";

//Suchwörter trennen und anzahl festhalten
meldung = "Suchen nach ... ";
suchwort = suchwortges.split(" ");  //in einzelne Wörter trennen
for (var i = 0; i < suchwort.length; i++) {
 suchwortanz++;
 meldung = meldung + "Wort " + suchwortanz + ": [" + suchwort[i] + "], ";
}
/* Alle P-Tags suchen, und in 2 Arrays speichert (mit und ohne TAG) */
anzp = document.all.tags("p").length-3;
for (var k = 0; k <= anzp; k++) {
 if (document.all.tags("p")[k].name != null)  {
  inhalttxt[k]=document.all.tags("p")[k].innerText;
  inhalthtml[k]=document.all.tags("p")[k].outerHTML;
 } else {
  inhalttxt[k]="";
  inhalthtml[k]="";
 }
}
document.write("<HTML><HEAD><link rel=stylesheet type="text/css" href="xformate.css"></HEAD><BODY>");
document.write("<a href="javascript:history.back()">zur&uuml;ck zur Liste</a><br><p><s>");
document.write(meldung + " mit UND-Verknuepfung:</s></p>");
//Suchloesung
for (i = 0; i <= anzp; i++) { //jeden Block bzw Array durchsuchen
 ergzw=0; //zurücksetzen für jeden Block
 for (var j = 0; j < suchwortanz; j++) { //für jedes Wort suchen
  suche = new RegExp (suchwort[j],"gi");
  var ergebnis = suche.exec(inhalttxt[i]);
  if(ergebnis != null)
   ergzw++;
 }
 if(ergzw == suchwortanz) { //wenn ergzw = anzahl der Suchwoerter (bei UND) ... alle wörter gefunden
     document.write(inhalthtml[i]);
  treffer++;
 } else {
  document.write("... ");
 }
}
 document.write("<p>ENDE DER FUNDE... ");
 document.write("<br>Anzahl der Treffer: " + treffer);
 document.write("<br><a href="javascript:history.back()">zur&uuml;ck zur Liste</a></p>");
 document.write("</BODY></HTML>");
}