[InternalSearchEngine]

Bitte Suchbegriff eingeben!

und oder nicht und nicht oder
Hinweise zur Suche:
  • Gesucht wird immer nach Stichworten
  • Der Suchbegriff muß mindestens 3 Buchstaben enthalten
  • Bei der Verknüpfung "UND" müssen alle eingegebenen Suchbegriffe in einer Seite enthalten sein
  • Bei "ODER" muß mindestens einer der Suchbegriffe auf einer Seite vorhanden sein
  • "NICHT" kehrt das Ergebnis um
  • Zwischen 2 Begriffen dürfen '+', '&' bzw. ein Leerzeichen als Trennzeichen verwendet werden

Interne Suchmaschine für die eigene Homepage. Das Script eignet sich durch seinen hohen Konfigurationsaufwand nur für kleinere Webangebote.

[Kompatibilität]

[zwischen <HEAD> und </HEAD>]

<script language="JavaScript1.1">
<!--
/*
Dieses Script wurde von einem unbekannten Verfasser erstellt.
Modifikationen an Design, Layout und Übersetzung: Bastian Baumann (webmaster@sneer.ch, http://www.sneer.ch)
*/
function suche(t)
{
// Suchwort mit weniger als 3 Buchstaben

if (t.length < 3)
{
document.formular.eingabe.focus();
alert("Sorry, der Suchbegriff muß mindestens 3 Zeichen lang sein.");
return;
}
else
{
var auswahl = document.ra.r[0].checked ? 1 : 0 || document.ra.r[1].checked ? 2 : 0 || document.ra.r[2].checked ? 3 : 0 || document.ra.r[3].checked ? 4 : 0;
document.open("text/html");

// Seitenkopf der Ergebnisseite
//Hier lassen sich erste Einstellungen bezüglich Gestaltung machen, wie z.B. Überschrift und Suchergebniss anzeigen

document.writeln ('<HTML>');
document.writeln ('<HEAD>');
document.writeln ('<TITLE>Suchergebnis</TITLE>');
document.writeln ('</HEAD>');
document.writeln ('<BODY>');
document.writeln ('<table width="100%"><tr><td bgcolor=""><font face="VERDANA,ARIAL,HELVETICA"><font size="+3"><b>Suchmaschine<font color="#808080"> &raquo; Ergebnis</font><hr noshade size="1" color="#C0C0C0"></b></font></font></td></tr></table>');
if (auswahl == 1 || auswahl == 2)
    document.writeln ('<font size="-1"> <font face="VERDANA,ARIAL,HELVETICA"><p>Sie haben nach &quot;<b><font color="#808080">'+t+'</font></b>&quot; gesucht.</font></font><br><br>');
else
   document.writeln ('<P><font face="VERDANA,ARIAL,HELVETICA"><font size="-1">Sie haben nach Dokumenten gesucht, in denen &quot;<b><font color="#808080">'+t+'</font></b>&quot; nicht vorkommt.</font></font><br><br>');
// S U C H B E G R I F F E
// Definition der Arrays
d=new Array(); // d = keywords/suchbegriffe
h=new Array(); // h = Dateiname/html Pfad
u=new Array(); // t = Titel der Seite/Überschrift
a=new Array(); // a = Autor
b=new Array(); // b = Kurzbeschreibung

// !! ACHTUNG: hier zu durchsuchende Seiten angeben!!

d[0] = 'umfrage,vote,forum,gästebuch,gaestebuch,kino,events,wetter,fun,spass';
h[0] = 'http://www.sneer.ch';
u[0] = 'sneer.ch';
a[0] = 'Bastian Baumann';
b[0] = 'Willkommen in einer neuen Welt!';

// Jede zu durchsuchende Seite muss nach diesem Schema definiert werden

d[1] = 'java,applets,scripts,html,css,forum,helpdesk';
h[1] = 'http://www.nightfire.ch/java/';
u[1] = 'Nightfire Webworker Archiv';
a[1] = 'Nightfire';
b[1] = 'Java Archiv mit mehreren hundert Beispielen zum kostenlosen Download';

// ... usw.

// AB HIER NICHT MEHR RUMFUMMELN !!

var i=0;
var j=0;
var k=0;
var l=0;
var start=0;
var gesetzt=0;
var laenge=0;
var zaehler=0;
var kleinst=0;
var anzahl=0;
var end=d.length+1;
var tmpwort;
z = t.toLowerCase();
liste = new Array();
liste2 = new Array();

// Initialisieren von liste mit den Werten 1 bis Größe von d

for (i=0; i < d.length; i++)
liste[i] = i;
liste[i] = end;
tquot = new Array();
eingabe = new Array();
eingabe[0] = "";

// Trennen der Suchbegriffe vom Benutzer - Trennzeichen: ' ', +, &

for (i=0;z.charAt(i) == ' ' || z.charAt(i) == '+' || z.charAt(i) == '&'; i++);
for (; i < z.length; i++)
{
if (z.charAt(i) == ' ' || z.charAt(i) == '+' || z.charAt(i) == '&')
{
zaehler++;
for (i++;z.charAt(i) == ' ' || z.charAt(i) == '+' || z.charAt(i) == '&'; i++);
if (i != z.length)
eingabe[zaehler] = "";
i--;
}
else
{
eingabe[zaehler] += z.charAt(i);
}
}
zaehler=0;

// S U C H E N  D E R  B E G R I F F E
// solange noch Suchbegriffe vorhanden sind
for (m=0; m < eingabe.length; m++)
{
// solange i kleiner als die Größe von liste
for (i=0; liste[i] != end && d[liste[i]]; i++)
{
// solange l kleiner als ein Element von d
for (l=0; l < d[liste[i]].length;)
{
// Suche das erste Komma in d
for (j=0; d[liste[i]].charAt(l+j) != ',' && l+j < d[liste[i]].length; j++);
// solange k kleiner als der gefundene Begriff
for (k=0; k < j+1; k++)
{
// Wenn der Buchstabe übereinstimmt, setze Start, falls noch nicht gesetzt
if (eingabe[m].charAt(k) && d[liste[i]].charAt(l+k).toLowerCase() == eingabe[m].charAt(k))
{
if (!gesetzt)
{
start=l+k;
gesetzt=1;
}
}
// wenn das Ende des eingegebenen Suchbegriffes erreicht ist
else if (!eingabe[m].charAt(k) && gesetzt)
{
//  U N D
if (auswahl == 1 || auswahl == 3)
{
laenge=j+l-start;
liste[zaehler] = liste[i];
if (!tquot[i])
tquot[i] = 0;
tquot[zaehler] = (m*tquot[i]+(eval (eingabe[m].length / laenge * 100))) / (m+1);
zaehler++;
k=j+1;
l = d[liste[i]].length;
}
//  O D E R
else
{
laenge=j+l-start;
liste2[i] = 1;
if (tquot[i])
{
if (tquot[i] < eingabe[m].length / laenge * 100)
tquot[i] = eingabe[m].length / laenge * 100;
}
else
tquot[i] = eingabe[m].length / laenge * 100;
k=j+1;
l = d[liste[i]].length;
}
}
else
{
k = j;
gesetzt = 0;
}
}
l+=j+1;
gesetzt = 0;
}
}
//  U N D
if (auswahl == 1 || auswahl == 3)
{
liste[zaehler] = end;
tquot[zaehler] = 0;
//wenn noch ein Suchbegriff vorhanden ist - zaehler auf 0
if (m+1 < eingabe.length)
zaehler=0;
}
}
// O D E R
if (auswahl == 2 || auswahl == 4)
{
for (i=0; i<d.length; i++)
{
if (liste2[i])
{
liste[zaehler] = i;
tquot[zaehler] = tquot[i];
zaehler++;
}
}
liste[zaehler] = end;
tquot[zaehler] = 0;
}
// N I C H T
if (auswahl == 3 || auswahl == 4)
{
for (i=0; i < d.length; i++)
liste2[i] = i;
for (i=0; liste[i] != end; i++)
liste2[liste[i]] = end;
zaehler = 0;
for (i=0; i<liste2.length; i++)
{
if (liste2[i] != end)
{
liste[zaehler] = liste2[i];
tquot[zaehler] = 100;
zaehler++;
}
}
tquot[zaehler] = 0;
}

//  Schreiben der nächsten Zeilen
// Unten lassen sich zahlreiche Einstellung machen, bezüglich Farbe, Schrift und Grösse der Seite, die die Ergenisse anzeigt!

document.writeln (' <font face="VERDANA,ARIAL,HELVETICA"><font size="-2"><font color="#C0C0C0">Eingetragene Seiten Insgesamt: <b>' + h.length + '</b></font></font></font></p>');
document.writeln (' <hr noshade size="1" color="#C0C0C0">');
document.writeln (' <p><font face="VERDANA,ARIAL,HELVETICA"><font size="-1">Gefundene Seiten insgesamt: <b><font color="#808080">'+zaehler+'</font></b></font></font></p>');
document.writeln (' <P><b><font size="-1"><font face="VERDANA,ARIAL,HELVETICA">Folgende Seiten/Stellen wurden gefunden:</font></font></b></P>');
document.writeln (' <OL>');
gesetzt = 0;

// wenn mindestens ein Ergebnis gefunden wurde
if (zaehler)
{
// S O R T I E R E N  N A C H  T R E F F E R Q U O T E
// (B U B B L E - S O R T)
for (i=0; tquot[i]; i++)
{
for (j=i+1; tquot[j]; j++)
{
if (tquot[i] < tquot[j])
{
k = liste[j];
liste[j] = liste[i];
liste[i] = k;
k = tquot[j];
tquot[j] = tquot[i];
tquot[i] = k;
}
}
}
// A U S G A B E  D E R  S O R T I E R T E N  E R G E B N I S S E
for (i=0; tquot[i]; i++)
{
stichwoerter = new Array();
if (auswahl == 1 || auswahl == 2)
{
zaehler = 0;
for (j=0; eingabe[j]; j++)
{
gesetzt = 1;
laenge = 0;
var zeile = d[liste[i]].toLowerCase();
if (zeile.indexOf(eingabe[j]) != -1)
{
laenge += zeile.indexOf(eingabe[j])+eingabe[j].length;
if (laenge-eingabe[j].length-1 != -1)
{
while (zeile.substring(laenge).indexOf(eingabe[j])!=-1 && zeile.charAt(laenge-eingabe[j].length-1) != ',' && zeile.charAt(laenge-eingabe[j].length-1))
laenge += zeile.substring(laenge).indexOf(eingabe[j])+eingabe[j].length;
if (zeile.substring(laenge).indexOf(',') == -1 && (zeile.charAt(laenge-eingabe[j].length-1) == ',' || !zeile.charAt(laenge-eingabe[j].length-1)))
k = zeile.length;
else if (zeile.substring(laenge).indexOf(',') != -1 && (zeile.charAt(laenge-eingabe[j].length-1) == ',' || !zeile.charAt(laenge-eingabe[j].length-1)))
k = zeile.substring(laenge).indexOf(',')+laenge;
else
gesetzt = 0;
}
else
{
if (zeile.substring(laenge).indexOf(',') != -1)
k = zeile.substring(laenge).indexOf(',') + laenge;
else
k = zeile.length;
}
}
else
gesetzt = 0;
if (gesetzt) {
if (!zaehler) tmpwort = d[liste[i]].substring(laenge-eingabe[j].length, laenge) + d[liste[i]].substring(laenge, k);
stichwoerter[zaehler] = '<i><u>' + d[liste[i]].substring(laenge-eingabe[j].length, laenge) + '</i></u>' + d[liste[i]].substring(laenge, k);
}
else
stichwoerter[zaehler] = ' ';
zaehler++;
}
}
document.write ('<LI><font face="VERDANA,ARIAL,HELVETICA"><font color="#808080"><font size="-1">['+Math.round(tquot[i])+'%]</font></font></font> <font face="VERDANA,ARIAL,HELVETICA"><strong><font face="VERDANA,ARIAL,HELVETICA"><font size="+1"><font color="#FF8000">' + u[liste[i]] +'</font></font></font></strong>&nbsp;&nbsp;<A HREF="'+h[liste[i]]+'#'+tmpwort+'"><font face="VERDANA,ARIAL,HELVETICA"><font size="-1"><font color="#808080">'+h[liste[i]]+'</font></font></font></A><BR>\n'
+ '<font size=-1><b>Autor: </b><i>' +a[liste[i]]+ '</I><br>\n'
+ '<b>Beschreibung:&nbsp;&nbsp;</b>' +b[liste[i]] + '\n');
gesetzt = 0;
if (auswahl == 1 || auswahl == 2)
{
document.write('<br><b><i>Stichw&ouml;rter: </i></b><font face="VERDANA,ARIAL,HELVETICA">');
for (j=0; j < zaehler; j++)
{
if (stichwoerter[j] != ' ' && gesetzt)
document.write(', ' + stichwoerter[j]);
else if (stichwoerter[j] != ' ')
{
document.write(stichwoerter[j]);
gesetzt = 1;
}
}
}
document.writeln ('\n     </font></font></font></li><br><br>');
}
document.writeln (' </OL>');
}
// wenn kein Ergebnis gefunden wurde
else
{
document.writeln (' </OL>');
document.writeln (' <P><b><font size="-1"><font face="VERDANA,ARIAL,HELVETICA"><font color="#FF8000">Leider wurde kein Ergebnis gefunden.</font></font></font></b></P>');
}
// Schreiben der Fußzeilen
document.writeln ('<a href="javascript:history.back();"><font size="-2"><font color="#808080"><font face="VERDANA,ARIAL,HELVETICA">Zur&uuml;ck zur Sucheingabe</font></font></font></a>');
document.writeln ('</BODY>');
document.writeln ('</HTML>');
}
document.close();
if (navigator.appName == "Netscape" && navigator.appVersion.substring(0,1) == 3)
history.go(0);
}
function loesche()
{
 document.formular.reset();
document.formular.eingabe.focus();
}
//-->
</script>

[in den <body> Tag]

onLoad="document.formular.eingabe.value='';document.formular.eingabe.focus()">

[zwischen <BODY> und </BODY>]

<table width="100%">
<tr>
<td bgcolor="">
<font face="VERDANA,ARIAL,HELVETICA"><font size="+3"><b>Suchmaschine<hr noshade size="1" color="#C0C0C0"></b></font></font>
</td>
</tr>
</table>
<br>

<table width="100%">
<tr>
<td bgcolor="#F0F0F0">
<font face="VERDANA,ARIAL,HELVETICA"><font size="-1">Bitte <b>Suchbegriff</b> eingeben!</font></font>
</td>
</tr>
</table>
<form name="formular" onsubmit="suche(document.formular.eingabe.value);return false;">
        <input type="text" name="eingabe" size="60">
</form><form name="Buttons">
<table border=0 width=50%>
<tr>
<td>
   <input type="button" value="Suche starten" onClick="suche(document.formular.eingabe.value)">
</td>
<td>
   <input type="button" value="Eingabe löschen" onClick="document.formular.eingabe.value='';document.formular.eingabe.focus()">
</td>
</tr>
</table></form>

<form name="ra">
<table bgcolor=""  bordercolor="" bordercolorlight="" bordercolordark="" width="100%">
<tr>
 <td bgcolor="#F0F0F0"  bordercolor="" bordercolorlight="" bordercolordark="" width="25%"><font face="VERDANA,ARIAL,HELVETICA"><font size="-1"><input type=radio checked name="r" value="und"> und</font></font> </td>
 <td bgcolor="#E0E0E0"  bordercolor="" bordercolorlight="" bordercolordark="" width="25%"><font face="VERDANA,ARIAL,HELVETICA"><font size="-1"><input type=radio name="r" value="oder"> oder</font></font> </td>
 <td bgcolor="#F0F0F0"  bordercolor="" bordercolorlight="" bordercolordark="" width="25%"><font face="VERDANA,ARIAL,HELVETICA"><font size="-1"><input type=radio name="r" value="nichtund"> nicht und</font></font> </td>
 <td bgcolor="#E0E0E0"  bordercolor="" bordercolorlight="" bordercolordark="" width="25%" ><font face="VERDANA,ARIAL,HELVETICA"><font size="-1"><input type=radio name="r" value="nichtoder"> nicht oder</font></font> </td>
</tr>
</table>
</form>

<table width="100%">
<tr bgcolor="#E0E0E0"  bordercolor="" bordercolorlight="" bordercolordark="">
 <td><font face="VERDANA,ARIAL,HELVETICA"><font size="-1"><b>Hinweise</b> zur Suche:</font></font> </td>
</tr>
<tr bgcolor="#F0F0F0"  bordercolor="" bordercolorlight="" bordercolordark="" >
 <td><font face="VERDANA,ARIAL,HELVETICA"><font size="-2">
<ul>
<li>Gesucht wird immer nach Stichworten</li>
<li>Der Suchbegriff muß mindestens 3 Buchstaben enthalten</li>
<li>Bei der Verknüpfung "UND" müssen alle eingegebenen Suchbegriffe in einer Seite enthalten sein</li>
<li>Bei "ODER" muß mindestens einer der Suchbegriffe auf einer Seite vorhanden sein</li>
<li>"NICHT" kehrt das Ergebnis um</li>
<li>Zwischen 2 Begriffen dürfen '+', '&' bzw. ein Leerzeichen als Trennzeichen verwendet werden</li>
</ul>
 </font></font> </td>
</tr>
</table>

[Autor]

??
modified by sneer.ch

[Download]

Kopieren Sie bitte den Code

Copyright © 1998- Nightfire Webworker Archiv Script No: 0170