Seite 1 von 1

Suche für die eigene Homepage

Verfasst: 19.02.2006, 20:09
von derneuling
Hi,

ich möchte gerne eine suche für meine eigene homepage haben.

Kennt jemand einen Anbieter möglichst kostenlos und werbefrei?

Oder hat dafür jemand ein script bzw. weiß einer wo man sich das downloaden kann?

Danke für antworten.

Verfasst:
von
Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Suche für die eigene Homepage

Verfasst: 19.02.2006, 21:20
von Garfield
Hallo Neuling,

versuch das mal :

Suchfeld:

Code: Alles auswählen

<form name="form1" method="post" action="search.php">
<input type="text" name="search">
<input type="submit" name="Submit" value="Suchen">
</form>
search.php :

Code: Alles auswählen

<?php

$dateityp = ".htm"; //= alle HTML-Dateien &#40;.htm, .html, .shtml&#41;
if&#40;empty&#40;$search&#41;&#41; &#123;$search=$_POST&#91;search&#93;;&#125;
if&#40;strlen&#40;$search&#41; < "3"&#41;
&#123;echo "Der Suchbegriff muss mindestens drei Buchstaben Länge haben.";exit;&#125;
$found = "0";
$verz = opendir&#40;'.'&#41;;
while&#40;$file = readdir&#40;$verz&#41;&#41;
&#123;
if&#40;$file != "." && $file != ".." &&  !is_dir&#40;$file&#41;&#41;
&#123;
$filetype = stristr&#40;$file, $dateityp&#41;;
if&#40;!empty&#40;$filetype&#41;&#41;
&#123;
$string = file_get_contents&#40;$file&#41;;
$string = html_entity_decode&#40;$string&#41;;
$string = strtolower&#40;$string&#41;;
$search = strtolower&#40;$search&#41;;
$test = substr_count&#40;$string, $search&#41;;
if&#40;!empty&#40;$test&#41;&#41;
&#123;
$string = ereg_replace&#40;"\n", "", $string&#41;; 
$string = strip_tags&#40;$string&#41;;

$pieces = explode&#40;$search, $string&#41;;
$piece1 = substr&#40;$pieces&#91;0&#93;, -50&#41;;
$piece1 = explode&#40;" ", $piece1&#41;;
array_shift&#40;$piece1&#41;;
$piece1 = implode&#40;" ", $piece1&#41;;
$piece2 = substr&#40;$pieces&#91;1&#93;, 0, 100&#41;;
$piece2 = explode&#40;" ", $piece2&#41;;
array_pop&#40;$piece2&#41;; 
$piece2 = implode&#40;" ", $piece2&#41;;
$rest = "$piece1<b>$search</b>$piece2";
$array .= "<b>$test Treffer im Dokument <a href=\"$file\">$file</a></b> <br>Textvorschau&#58;<br> $rest <br><br>\n";
$found ++;
&#125;&#125;&#125;&#125;
closedir&#40;$verz&#41;;
if&#40;$found != "0"&#41;
&#123;
echo "<h4>Insgesamt $found Seite&#40;n&#41; mit dem gesuchten Begriff gefunden.</h4>Die Ausgabe erfolgt sortiert nach der Häufigkeit des Suchbegriffs auf der Seite.<br /><br />";
$array = explode&#40;"\n", $array&#41;;
natsort&#40;$array&#41;;
reset&#40;$array&#41;;
$array = array_reverse&#40;$array&#41;;
while&#40;list&#40;$line_num, $line&#41; = each&#40;$array&#41;&#41;
&#123;
$ausgabe .= "$line\n";
&#125;
print $ausgabe;
&#125;
if&#40;$found == "0"&#41;
&#123; echo "<h4>Es konnte keine Übereinstimmungen mit dem eingegebenen Suchbegriff gefunden werden.</h4>Bitte versuchen Sie einen anderen Suchbegriff oder prüfen Sie die Rechtschreibung.";&#125;

?>
Das durchsucht alle tatsächlich vorhandenen .htm und .html - Files der Domain.

EDIT // 13.38h:

Im Code der search.php abschließendes, überflüssiges </p> entfernt.

Verfasst: 19.02.2006, 21:44
von derneuling
wie füge ich diesen code ein?

den ersten code ganz normal in die html einfügen? und den zweiten im editor einfügen und dann als php speichern?

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Suche für die eigene Homepage

Verfasst: 19.02.2006, 21:54
von Hasenhuf
Ja und zwar als search.php

PS: Funktioniert auch (ohne Unterverzeichnisse).

Suche für die eigene Homepage

Verfasst: 20.02.2006, 08:38
von rechtlegal
Kannst aber auch Yahoo (wenn alle Deine Seite dort gelistet sind) oder MSN (meist sind nur max. die Hälfte Deiner Seiten dort gelistet) nehmen:

- https://de.search.yahoo.com/info/de/aff ... ge_hp.html
- https://search.msn.de/docs/siteowner.as ... &FORM=ASRE

Suche für die eigene Homepage

Verfasst: 20.02.2006, 11:13
von axelm
Google bietet auch ein Formular zum einbinden auf seine Seite, dann wird nur deine Seite durchsucht und davon ergebnisse angezeigt.

Falls du das ganze in deinem Design haben willst UND fitt in PHP bist, kannst du dir die API anschauen dann kannst du google abfragen und das ganze in deinem layout ausgeben.

Suche für die eigene Homepage

Verfasst: 20.02.2006, 11:16
von Bogomir
Schau mal unter https://www.picosearch.com/ . Evtl. ist das was für dich.

Suche für die eigene Homepage

Verfasst: 20.02.2006, 12:41
von decision
Wie wäre www.phpdig.de ? Brauchst halt nur den passenden Space

@Garfield, geht die Suche nur im aktuellen Verzeichnis oder auch in Unterordner???

Suche für die eigene Homepage

Verfasst: 20.02.2006, 13:15
von Garfield
Ich glaub, die geht nur im aktuellen Verzeichnis.

Re: Suche für die eigene Homepage

Verfasst: 20.02.2006, 13:24
von decision
Garfield hat geschrieben:Ich glaub, die geht nur im aktuellen Verzeichnis.
Das ist schade, denn sonst ware es toll. Einfach, schnell und gute Ergebnisse

Suche für die eigene Homepage

Verfasst: 20.02.2006, 13:34
von Garfield
Vielleicht kennt sich ja jemand damit aus und kann es umschreiben ?

Da wäre ich auch dran interessiert :D

Verfasst: 23.02.2006, 23:36
von Hasenhuf
Da ich nicht so tief in php drin stecke, daß ich es universell für beliebig tiefe Verzeichnisbäume schreiben könnte, habe ich die letzten zwei Stunden darauf verwendet, die Suche für eine weiter Verzeichnisebene zu erweitern (für mich reicht das im Moment).

Lokal hat sie auch funktioniert, auf meiner Seite liefert sie Fehlermeldungen arbeitet den Auftrag danach aber ab.

Es hat sich herausgestellt, daß man noch Verzeichnisse, die von der Suche ausgenommen werden sollen (z.B. Statistiken, geschützte Verzeichnisse ...) ausschließen können muß. Das werde ich noch einbauen.

Der script dürfte auch noch für weitere Ebenen kaskadierbar sein. Wenn Bedarf besteht, schreibe ich eine Anleitung, wie man das machen kann.

search.php Suche lokal + eine Ebene tiefer:

Code: Alles auswählen

<?php 

$dateityp = ".htm"; //= alle HTML-Dateien &#40;.htm, .html, .shtml&#41; 
if&#40;empty&#40;$search&#41;&#41; &#123;$search=$_POST&#91;search&#93;;&#125; 
if&#40;strlen&#40;$search&#41; < "3"&#41; 
&#123;echo "Der Suchbegriff muss mindestens drei Buchstaben Länge haben.";exit;&#125; 
$found = "0";
$verz = opendir&#40;'.'&#41;;
while&#40;$uverz = readdir&#40;$verz&#41;&#41;
&#123; 
if&#40;$uverz != ".." &&  is_dir&#40;$uverz&#41;&#41; 
&#123;
$averz = opendir&#40;$uverz&#41;; 
while&#40;$file = readdir&#40;$averz&#41;&#41; 
&#123; 
if&#40;$file != "." && $file != ".." &&  !is_dir&#40;$file&#41;&#41; 
&#123; 
$filetype = stristr&#40;$file, $dateityp&#41;; 
if&#40;!empty&#40;$filetype&#41;&#41; 
&#123; 
$string = file_get_contents&#40;$uverz."/".$file&#41;; 
$string = html_entity_decode&#40;$string&#41;; 
$string = strtolower&#40;$string&#41;; 
$search = strtolower&#40;$search&#41;; 
$test = substr_count&#40;$string, $search&#41;; 
if&#40;!empty&#40;$test&#41;&#41; 
&#123; 
$string = ereg_replace&#40;"\n", "", $string&#41;; 
$string = strip_tags&#40;$string&#41;; 

$pieces = explode&#40;$search, $string&#41;; 
$piece1 = substr&#40;$pieces&#91;0&#93;, -50&#41;; 
$piece1 = explode&#40;" ", $piece1&#41;; 
array_shift&#40;$piece1&#41;; 
$piece1 = implode&#40;" ", $piece1&#41;; 
$piece2 = substr&#40;$pieces&#91;1&#93;, 0, 100&#41;; 
$piece2 = explode&#40;" ", $piece2&#41;; 
array_pop&#40;$piece2&#41;; 
$piece2 = implode&#40;" ", $piece2&#41;; 
$rest = "$piece1<b>$search</b>$piece2"; 
$array .= "<b>$test Treffer im Dokument <a href=\"$uverz/$file\">$uverz/$file</a></b> <br>Textvorschau&#58;<br> $rest <br><br>\n"; 
$found ++; 
&#125;&#125;&#125;&#125; 
closedir&#40;$averz&#41;;
&#125;&#125;
closedir&#40;$verz&#41;; 
if&#40;$found != "0"&#41; 
&#123; 
echo "<h4>Insgesamt $found Seite&#40;n&#41; mit dem gesuchten Begriff gefunden.</h4>Die Ausgabe erfolgt sortiert nach der Häufigkeit des Suchbegriffs auf der Seite.<br /><br />"; 
$array = explode&#40;"\n", $array&#41;; 
natsort&#40;$array&#41;; 
reset&#40;$array&#41;; 
$array = array_reverse&#40;$array&#41;; 
while&#40;list&#40;$line_num, $line&#41; = each&#40;$array&#41;&#41; 
&#123; 
$ausgabe .= "$line\n"; 
&#125; 
print $ausgabe; 
&#125; 
if&#40;$found == "0"&#41; 
&#123; echo "<h4>Es konnte keine Übereinstimmungen mit dem eingegebenen Suchbegriff gefunden werden.</h4>Bitte versuchen Sie einen anderen Suchbegriff oder prüfen Sie die Rechtschreibung.";&#125; 

?>
Wer Fehler oder mögliche Fehlerquellen findet bitte posten.

Suche für die eigene Homepage

Verfasst: 23.02.2006, 23:43
von robo

Suche für die eigene Homepage

Verfasst: 23.02.2006, 23:47
von Hasenhuf
Spielverderber! :wink:

Da ist ja alles englisch. :-? :wink:

Suche für die eigene Homepage

Verfasst: 24.02.2006, 08:12
von Michael
Hi,

ich finde Nutch sehr gut.

https://www.nutch.org/

Habe vorgestern einen Test damit gemacht. Bin sehr zufrieden. Die Ergebnisse habe ich unter https://www.m-software.de/item.php?i=19 zusammengefasst.

Ich könnte Dir auch ein htdig Account auf meinem Server einrichten. Htdig ist eigentlich auch ganz gut, aber wird bei einem zu Großen Index (ab 500MB) relativ langsam. Nutch hat da einfach die Nase vorn.

Bei Interesse bitte per PN melden. Die URL's für die Suchseite(n) möchte ich hier nicht verlinken.

Gruß
Michael