$value) { $$key = isset($_POST[$key]) ? $_POST[$key] : ""; } foreach($_GET as $key => $value) { $$key = isset($_GET[$key]) ? $_GET[$key] : ""; } // Umstellung auf reg_glo=Off ENDE if (!isset($gross)) { $gross=0; } if (!isset($index)) { $index=0; } if ($gross==0) { $suchtext=strtolower($suchtext); } while(strpos($suchtext," ")== TRUE) { $suchtext=str_replace(" "," ",$suchtext); } $suchtext=trim(stripslashes($suchtext)); $suchtext=str_replace("ß","ß",$suchtext); $suchtext=str_replace("ß","ß",$suchtext); $suchtext=str_replace("ä","ä", $suchtext); $suchtext=str_replace("ä","ä", $suchtext); $suchtext=str_replace("ö","ö", $suchtext); $suchtext=str_replace("ö","ö", $suchtext); $suchtext=str_replace("ü","ü", $suchtext); $suchtext=str_replace("ü","ü", $suchtext); $suchtext=str_replace("Ä","Ä", $suchtext); $suchtext=str_replace("Ä","Ä", $suchtext); $suchtext=str_replace("Ö","Ö", $suchtext); $suchtext=str_replace("Ö","Ö", $suchtext); $suchtext=str_replace("Ü","Ö", $suchtext); $suchtext=str_replace("Ü","&=uml;", $suchtext); if (strpos($suchtext,"_")== TRUE) { $kombi_woerter=array(); $kombi_aktion=array(); $kombi_aktion=explode(" ",$suchtext); foreach ($kombi_aktion as $kombi) {if (strpos($kombi,"_")== TRUE) {array_push($kombi_woerter,$kombi);}}} $kombi_reihe=implode(" ",$kombi_woerter); $anzahl_ausdruecke=0; $ausdruecke=array(); for ($a=0;$a$max_suchwoerter) { $suchwoerter_start_fehlt=substr($suchtext_start,strlen($suchtext)+1); } ?>
" method="post">
Suchen beim GANZEN Werk
     0) { echo "80"; } else { echo "40"; } echo "\" value=\"".$suchtext."\">

"; ?>
              Groß- und Kleinbuchstaben

>beachten     >nicht beachten
    
 
Hinweise:
1. Zu jedem Suchwort wird mindestens die erste Fundstelle hervorgehoben. In dem ganzen Textbestand wird für jedes Suchwort ermittelt, wie oft es vorkommt, und diese Zahl angezeigt. Die Suche erfolgt aktuell, direkt und ohne eine Datenbank. Wegen dieser drei Besonderheiten dauert die Suche etwas länger als bei professionellen Suchmaschinen.
2. Wenn Sie nach einem Ausdruck suchen, der aus mehreren Wörtern besteht: Verbinden Sie bei dieser Suchmaschine die Wörter mit einem Unterstrich (Zeichen: _). Schreiben Sie zum Beispiel NDR_Kultur oder Rothenbaumchaussee_132.
3. Pdf-Dateien können nicht erfasst werden. Zu den meisten Pdf-Dateien haben wir inhaltsgleiche Internet-Textseiten, die auch zu den Pdf-Dateien führen.
4. Die Fundstellen werden nach der Gesamtzahl der Treffer sortiert.
0) {if (strpos($text,$suchwort)==FALSE) {$text="";}}} if (strlen($text)>0) { // 3 Alle Suchwörter kommen vor $treffer["datei_url"][$dateinummer]=$name; $s=0; $anzahl_suchwort=0; foreach ($suchwoerter as $suchwort) { // 4 Anfang Schleife 4: foreach ($suchwoerter as $suchwort) $position=strpos($text,$suchwort); $pos_sw_min=min($position,$pos_sw_min); $pos_sw_max=max($position,$pos_sw_max); $woerter=explode($suchwort,$text); $anzahl=count($woerter)-1; // Das Suchergebnis $anzahl_suchwort=$anzahl_suchwort+$anzahl; $treffer["vorkommnisse"][$dateinummer]=$treffer["vorkommnisse"][$dateinummer]+$anzahl; $summe_fundstellen=$summe_fundstellen+$anzahl; $anzahl_pro_suchwort[$s]=$anzahl_suchwort; if ( $s==0 ) { $komma=""; } else { $komma=", "; } $treffer["meldung"][$dateinummer]=$treffer["meldung"][$dateinummer].$komma.$anzahl_pro_suchwort[$s]." x"; $s++; $anzahl_suchwort=0; } // 4 Ende Schleife 4: foreach ($suchwoerter as $suchwort) $treffer["pos_min"][$dateinummer]=$pos_sw_min; $treffer["pos_max"][$dateinummer]=$pos_sw_max; $dateinummer++; } // 3 Ende von If Alle Suchwörter kommen vor fclose($datei); } } closedir($ordner); } // Ende Schleife 2: Datei-Name - while ... readdir($ordner) // Ende Schleife 1: Pfad - foreach ($pfade as $pfad) } // Ende function() // Hier schon einmal $text und &zeilentext für ein zusätzliches Sortierparameter (nach: $treffer["vorkommnisse"]) ermitteln. function textausgabe() { // Anfang function() global $suchwoerter,$treffer,$fundstelle; global $suchtext,$suchwoerter_start_fehlt; global $PHP_SELF,$SERVER_NAME,$max_suchwoerter,$anzahl_suchwoerter_start,$treffer_pro_seite,$index,$zeit_anfang,$dateinummer; global $gross,$inhalt_max,$textstelle_max,$anzahl,$anzahl_suchwoerter,$anzahl_ausdruecke,$summe_fundstellen; $treffer_anzahl =count($treffer["datei_url"]); $anzahl_suchwoerter =count($suchwoerter); echo "
\n"; $suchtext=str_replace(" "," + ",$suchtext); echo "Gesucht: ".$suchtext."

\n"; $suchwoerter_start_fehlt=str_replace(" "," + ",$suchwoerter_start_fehlt); if ($anzahl_suchwoerter_start>$max_suchwoerter) { echo "Nicht berücksichtigt wurde"; if (strpos($suchwoerter_start_fehlt," + ")==TRUE) { echo "n"; } echo ": ".$suchwoerter_start_fehlt.".
"; echo "Diese Suchmaschine ist auf maximal ".$max_suchwoerter." Suchwörter bzw. Ausdrücke ausgelegt. "; echo "Reduzieren Sie bitte dementsprechend die Anzahl der Wörter bzw. Ausdrücke.


"; } echo "Gefunden: "; if ($treffer_anzahl==1) { echo "eine Seite, "; } if ($treffer_anzahl>1) { echo $treffer_anzahl." Seiten, "; } if ($summe_fundstellen==1) { echo "eine Einzelstelle"; } if ($summe_fundstellen>1) { echo $summe_fundstellen." Einzelstellen"; } echo "

\n"; if ($treffer_anzahl==0) { echo "

Leider nichts gefunden

\n"; } else { // Hier noch eine zweite zusätzliche Sortierung: // - nach dem Datei-Datum (wenn im Namen enthalten) oder nach dem Änderungsdatum einer Index-Datei oder einer anderen Datei. @array_multisort($treffer["vorkommnisse"],SORT_DESC,$treffer["datei_url"],$treffer["meldung"],$treffer["pos_min"],$treffer["pos_max"]); $anfang=$index*$treffer_pro_seite+1; $ende =$anfang+$treffer_pro_seite-1; if ($ende>$treffer_anzahl) { $ende=$treffer_anzahl; } if ($treffer_anzahl>$treffer_pro_seite) { echo "Seiten ".$anfang." bis ".$ende."

"; } $zeit=time()-$zeit_anfang; echo "Suche und Textausgabe dauerten ".$zeit." Sekunden.
"; if ($treffer_anzahl>1) { echo "Sortierung: a. Trefferzahl, b. Verzeichnis der Datei, c. Name der Datei (oft entsprechend Datum)
"; } echo "
\n\n"; for ($k=0;$k<$treffer_pro_seite;$k++) { $i=$index*$treffer_pro_seite+$k; $platz=$i+1; if ($platz<=$ende) { echo "\n"; $t=1; $treffer["datei_url"][$i]=str_replace("\./","",$treffer["datei_url"][$i]); echo ""; $text=""; rewind(); while (!feof($datei) AND strlen($text)<$treffer["pos_max"][$i]+$textstelle_max-75) { $text=$text." ".fgetss($datei,1000,""); } // Datei-Inhalt einlesen if ($gross==0) { $text=strtolower($text); } $fundstelle=array(); $sw=0; foreach ($suchwoerter as $suchwort) // Zuerst wird der Text zusammengestellt. { if(strpos($suchwort,"_")==TRUE) { $suchwort=str_replace("_"," ",$suchwort); } $fundstelle["suchwort"][$sw]=$suchwort; $position=strpos($text,$suchwort); $fundstelle["position"][$sw]=$position; $wortlaenge=strlen($suchwort); $textlaenge=strlen($text); $sw++; } @array_multisort($fundstelle["position"],$fundstelle["suchwort"]); $textstelle=""; $anzahl_textstellen=0; for ($t=0;$t".$suchwort."",$textstelle); } echo ""; echo ""; echo "\n"; } echo "
"; echo "".$platz."."; $datei=fopen($treffer["datei_url"][$i],"r"); $zeilentext=""; while ($t<7 AND strlen($zeilentext)<350) { $text=fgetss($datei,1000,""); $text=trim($text); if ($text!="") { $zeilentext .= $text; break; } $t++; } // echo strpos($zeilentext,"Das GANZE Werk")." = Position von: Das GANZE Werk
"; // if (strpos($zeilentext,"Das GANZE Werk")==TRUE) // { $zeilentext=str_replace("Initiativkreis Das GANZE Werk / " ,"",$zeilentext); $zeilentext=str_replace("Initiativkreis Das GANZE Werk: " ,"",$zeilentext); $zeilentext=str_replace("Initiativkreis Das GANZE Werk - " ,"",$zeilentext); $zeilentext=str_replace("Initiative Das GANZE Werk / " ,"",$zeilentext); $zeilentext=str_replace("Initiative Das GANZE Werk: " ,"",$zeilentext); $zeilentext=str_replace("Initiative Das GANZE Werk - " ,"",$zeilentext); $zeilentext=str_replace("Das GANZE Werk / " ,"",$zeilentext); $zeilentext=str_replace("Das GANZE Werk: " ,"",$zeilentext); $zeilentext=str_replace("Das GANZE Werk - " ,"",$zeilentext); $zeilentext=str_replace("Initiative Das GANZE Werk (Nord): " ,"",$zeilentext); $zeilentext=str_replace("Initiative Das GANZE Werk (Nord) - " ,"",$zeilentext); $zeilentext=str_replace("Das GANZE Werk (Berlin-Brandenburg) / ","",$zeilentext); $zeilentext=str_replace("Das GANZE Werk (Berlin-Brandenburg): " ,"",$zeilentext); $zeilentext=str_replace("Initiativen Das GANZE Werk (Nord und Berlin-Brandenburg): ","",$zeilentext); // } if (strlen($zeilentext)>$inhalt_max) { $zeilentext=substr($zeilentext,0,$inhalt_max); $zeilentext=substr($zeilentext,0,strrpos($zeilentext," "))."..."; } foreach ($suchwoerter as $suchwort) // Dann markieren. { if(strpos($suchwort,"_")==TRUE) { $suchwort=str_replace("_"," ",$suchwort); } $zeilentext=str_replace($suchwort,"".$suchwort."",$zeilentext); } echo " Inhalt ".$zeilentext."
Textausschnitt"; if ($anzahl_textstellen>1) { echo "e"; } echo " ".$textstelle."
Fundstelle "; echo "../".$treffer["datei_url"][$i]."
"; if ($anzahl_ausdruecke==1) { echo "1 Ausdruck"; } if ($anzahl_ausdruecke >1) { echo $anzahl_ausdruecke." Ausdrücke"; } $anzahl_rest=$anzahl_suchwoerter-$anzahl_ausdruecke; if ($anzahl_ausdruecke>=1 AND $anzahl_rest>=1) { echo ", "; } if ($anzahl_rest>=1) { if($anzahl_rest==1) { echo "1 Wort"; } else { echo $anzahl_rest." Wörter"; }} echo " | Gefunden: ".$treffer["vorkommnisse"][$i]." x"; if ($anzahl_suchwoerter>1) { echo " (".$treffer["meldung"][$i].")

\n"; } } } if ($treffer_anzahl>$treffer_pro_seite) { echo "
Seite:   \n"; } $j=ceil($treffer_anzahl/$treffer_pro_seite)-1; for ($i=0;$i<=$j;$i++) { $zahl=$i+1; if (($index+1)!=$zahl) { echo ""; } if ($treffer_anzahl>$treffer_pro_seite) { echo $zahl; } if (($index+1)!=$zahl) { echo ""; } switch ($zahl) { case 23: echo "

\n"; break; case 45: echo "

\n"; break; case 67: echo "

\n"; break; case 89: echo "

\n"; break; case 108: echo "

\n"; break; case 125: echo "

\n"; break; case 142: echo "

\n"; break; case 159: echo "

\n"; break; default: echo "   "; } } if ($treffer_anzahl>$treffer_pro_seite) { echo "

 \n"; } } // = Ende function() ?>