Hallo,
Ich habe ein Script gefunden. Dieses sucht nur auf dem eigendem Server. Ist es möglich dieses Script derart umzuwandeln , das es auch auf anderen Server sucht, oder im Web? Die Suche hat nur eine datei: die suchen.php :
Alles anzeigen
Vielen Dank!
Ich habe ein Script gefunden. Dieses sucht nur auf dem eigendem Server. Ist es möglich dieses Script derart umzuwandeln , das es auch auf anderen Server sucht, oder im Web? Die Suche hat nur eine datei: die suchen.php :
Quellcode
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
- <html>
- <head>
- <title>PHP-Suchmaschine</title>
- <style>
- body,td,input { font-family:Verdana;font-size:7.9pt }
- .t_nummer { font-family:Verdana,Tahoma,Arial; font-size:16pt; font-weight:bold; color:#999999}
- .markierung {color:#ff0000}
- </style>
- </head>
- <body>
- <?
- ########### PHP-Suchmaschine ###########
- ########### powered by Viktor Widiker & [url=http://www.widiker.de]http://www.widiker.de[/url], Berlin 2002 ###########
- ########### Hier folgen die Einstellungen ###########
- $max_suchwoerter=3; # Maximale Anzahl der Suchwörter, die wahrgenommen werden
- $treffer_pro_seite=10; # Wie viele Treffer werden pro Ergebnisseite angezeigt?
- $endungen=array("html","htm","php","phtml"); # Dateien mit welchen Endungen werden durchsucht?
- $pfade_gesamt="./"; # Adressen (relativ zum Suchmaschinennskript) der zu durchsuchenden Ordner (durch Kommata trennen!)
- $max_stelle=200; # Maximale (ungefähre) Länge (in Zeichen) der ersten gefundenen Textstelle
- $mehr_laenge=200; # Maximale (ungefähre) Länge (in Zeichen) des Strings für weitere Vorkommnisse
- ########### Ab hier folgt die Suche #######
- if (!isset($grossschreibung)) { $grossschreibung=0; }
- if (!isset($ganzewoerter)) { $ganzewoerter=0; }
- if (!isset($index)) { $index=0; }
- $suchtext=trim(stripslashes($suchtext));
- if ($grossschreibung==0) { $suchtext=strtolower($suchtext); }
- $suchtext=ereg_replace(","," ",$suchtext);
- $suchtext2=array(); $suchwoerter=array();
- $suchtext2=explode(" ",$suchtext);
- foreach ($suchtext2 as $einwort)
- {
- if (($einwort!="") && (count($suchwoerter)<=($max_suchwoerter-1)) && (!in_array($einwort,$suchwoerter)))
- { array_push($suchwoerter,$einwort); }
- }
- $suchtext=implode(" ",$suchwoerter);
- ?>
- <form action="<? echo "$PHP_SELF"; ?>" method="post">
- <table width="500" cellpadding="5" cellspacing="0" border="0" bgcolor="#ccddee" align="center">
- <tr>
- <td align="right">
- <?
- echo "<input type=\"text\" name=\"suchtext\" size=\"";
- $browser=$HTTP_USER_AGENT;
- if (1*strpos(strtolower($browser),"msie")>0) { echo "25"; } else { echo "14"; }
- echo "\" value=\"".$suchtext."\"><br><br>";
- ?>
- <input type="submit" value=" suchen ">
- </td>
- <td>
- <b>Groß- und Kleinbuchstaben</b><br>
- <input type="radio" name="grossschreibung" value="1" <? if ($grossschreibung==1) echo "checked"; ?>>unterscheiden<br>
- <input type="radio" name="grossschreibung" value="0" <? if ($grossschreibung==0) echo "checked"; ?>>nicht unterscheiden
- </td>
- <td>
- <b>Art der Suche</b><br>
- <input type="radio" name="ganzewoerter" value="1" <? if ($ganzewoerter==1) echo "checked"; ?>>nur ganze Wörter<br>
- <input type="radio" name="ganzewoerter" value="0" <? if ($ganzewoerter==0) echo "checked"; ?>>Wortteile
- </td>
- </tr>
- </table>
- </form>
- <?
- if ($suchtext!="") { start(); ausgabe(); }
- function start()
- {
- global $suchwoerter,$grossschreibung,$ganzewoerter,$dateinummer,$treffer,$max_stelle,$mehr_laenge;
- global $endungen,$pfade_gesamt;
- $dateinummer=0;
- $treffer=array();
- $pfade=array(); $pfade=explode(",",$pfade_gesamt);
- foreach ($pfade as $pfad)
- {
- $ordner=opendir($pfad);
- while ($eintrag=readdir($ordner))
- {
- $name=$pfad.$eintrag;
- $dateiname=explode(".",$eintrag);
- if (in_array($dateiname[1],$endungen))
- {
- $anzahl=0;
- $schluss=0;
- $gefundene_woerter=array();
- $datei=fopen($name,"r");
- while (!feof($datei))
- {
- $zeile=fgetss($datei,10000,"");
- if ($grossschreibung==0) { $zeile=strtolower($zeile); }
- $woerter=explode(" ",$zeile);
- foreach ($woerter as $wort)
- {
- foreach ($suchwoerter as $suchwort)
- {
- ### ganze Wörter ###
- if ($ganzewoerter==0)
- {
- if (strstr($wort,$suchwort))
- {
- if (!in_array($suchwort,$gefundene_woerter)) { array_push($gefundene_woerter,$suchwort); }
- $anzahl++;
- $treffer["vorkommnisse"][$dateinummer]++;
- if ($anzahl==1)
- {
- $treffer["datei_url"][$dateinummer]=$name;
- $position=strpos($zeile,$wort);
- $wortlaenge=strlen($wort);
- $zeilenlaenge=strlen($zeile);
- if ($zeilenlaenge>$max_stelle)
- {
- $lside=$position-(($max_stelle-$wortlaenge)/2);
- $rside=$lside+$max_stelle;
- if ($lside<0) { $rside=$rside-$lside; $lside=0; }
- if ($rside>$zeilenlaenge) { $rside=$zeilenlaenge; }
- }
- else { $lside=0; $rside=$zeilenlaenge; }
- $stelle=substr($zeile,$lside,$rside-$lside);
- $stelle=ereg_replace($wort,"<span class=\"markierung\">".$wort."</span>",$stelle);
- $stelle="...".$stelle."...";
- $treffer["textstelle"][$dateinummer]=$stelle;
- }
- else if ($anzahl==2) { $teil=ereg_replace(",","",$teil); $mehr=$teil; }
- else if ($anzahl>2)
- {
- if (strlen($mehr)<$mehr_laenge) { if ($mehr=="") { $komma=""; } else { $komma=", "; } $wort=ereg_replace(", ","",$wort); $mehr.=$komma.$wort; }
- else { if ($schluss!=1) {$mehr=$mehr." ..."; $schluss=1;} }
- }
- }
- }
- ### ganze Wörter ENDE ###
- ### Wortteile ###
- else
- {
- if ($wort==$suchwort)
- {
- if (!in_array($suchwort,$gefundene_woerter)) { array_push($gefundene_woerter,$suchwort); }
- $anzahl++;
- $treffer["vorkommnisse"][$dateinummer]++;
- if ($anzahl==1)
- {
- $treffer["datei_url"][$dateinummer]=$name;
- $position=strpos($zeile,$wort);
- $wortlaenge=strlen($wort);
- $zeilenlaenge=strlen($zeile);
- if ($zeilenlaenge>$max_stelle)
- {
- $lside=$position-(($max_stelle-$wortlaenge)/2);
- $rside=$lside+$max_stelle;
- if ($lside<0) { $rside=$rside-$lside; $lside=0; }
- if ($rside>$zeilenlaenge) { $rside=$zeilenlaenge; }
- }
- else { $lside=0; $rside=$zeilenlaenge; }
- $stelle=substr($zeile,$lside,$rside-$lside);
- $stelle=" ".$stelle." ";
- $stelle=ereg_replace(" ".$wort." "," <span class=\"markierung\">".$wort."</span> ",$stelle);
- $stelle="...".$stelle."...";
- $treffer["textstelle"][$dateinummer]=$stelle;
- }
- else if ($anzahl==2) { $teil=ereg_replace(",","",$teil); $mehr=$teil; }
- else if ($anzahl>2)
- {
- if (strlen($mehr)<$mehr_laenge) { if ($mehr=="") { $komma=""; } else { $komma=", "; } $wort=ereg_replace(", ","",$wort); $mehr.=$komma.$wort; }
- else { if ($schluss!=1) {$mehr=$mehr." ..."; $schluss=1;} }
- }
- }
- }
- ### Wortteile ENDE ###
- }
- }
- }
- fclose($datei);
- $treffer["woerter"][$dateinummer]=count($gefundene_woerter);
- $treffer["mehr"][$dateinummer]=$mehr;
- if (count($gefundene_woerter)>0) { $dateinummer++; }
- }
- }
- closedir($ordner);
- }
- }
- function ausgabe()
- {
- global $treffer,$dateinummer,$PHP_SELF,$index,$SERVER_NAME,$treffer_pro_seite,$suchwoerter,$suchtext,$grossschreibung,$ganzewoerter;
- echo "<table width=\"500\" border=\"0\" align=\"center\"><tr><td>
- ";
- echo "<span style=\"font-size:13pt\"><b>Ergebnisse der Suche:</b></span><br><br>
- ";
- $treffer_anzahl=count($treffer["datei_url"]);
- if ($treffer_anzahl==0) { echo "<span style=\"font-size:13pt\"><b><center><br><br>Leider nichts gefunden<br><br></center></b></span></td></tr></table>
- "; }
- else
- {
- @array_multisort($treffer["woerter"],SORT_DESC,$treffer["vorkommnisse"],SORT_DESC,$treffer["datei_url"],$treffer["textstelle"],$treffer["mehr"]);
- $suchtext=ereg_replace(" ",", ",$suchtext);
- if (count($suchwoerter)>1) { echo "Gesuchte Wörter: "; } else { echo "Gesuchtes Wort: "; }
- echo "$suchtext<br><br>
- ";
- $anfang=$index*$treffer_pro_seite+1;
- $ende=$anfang+$treffer_pro_seite-1; if ($ende>$treffer_anzahl) { $ende=$treffer_anzahl; }
- echo "<b>Treffer $anfang-$ende von insgesamt $treffer_anzahl Treffern, beste Treffer zuerst:<br><br>
- ";
- echo "</td></tr></table>
- ";
- for ($k=0;$k<$treffer_pro_seite;$k++)
- {
- $i=$index*$treffer_pro_seite+$k;
- $platz=$i+1;
- if ($platz<=$ende)
- {
- echo "<table width=\"580\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\">
- ";
- $t=1;
- $treffer["datei_url"][$i]=ereg_replace("./","",$treffer["datei_url"][$i]);
- $datei=fopen($treffer["datei_url"][$i],"r");
- while ($t<7)
- {
- $zeile=fgetss($datei,1000,""); $zeile=trim($zeile);
- if ($zeile!="")
- {
- echo "<tr><td height=\"16\" colspan=\"2\">";
- echo "<span class=\"t_nummer\">".$platz.".</span> <a href=\"".$treffer["datei_url"][$i]."\"><b>".$zeile."</b></a>";
- break;
- }
- $t++;
- }
- fclose($datei);
- if ($treffer["woerter"][$i]==1) { $woerter="Wort"; } else { $woerter="Wörter"; }
- if ($treffer["vorkommnisse"][$i]==1) { $vorkommnisse="Vorkommnis"; } else { $vorkommnisse="Vorkommnisse"; }
- echo "<p style=\"margin-top:0pt; margin-bottom:0pt\" align=\"justify\">
- ";
- echo $treffer["textstelle"][$i]."<br>
- ";
- echo "<small><b>Weitere Vorkommnisse: </b>".$treffer["mehr"][$i]."</small></p></td></tr>
- ";
- echo "<tr><td><a href=\"http://".$SERVER_NAME."/".$treffer["datei_url"][$i]."\" target=\"_blank\">
- ";
- echo "<img src=\"newwindow.gif\" width=\"14\" height=\"10\" border=\"0\">
- ";
- echo " http://".$SERVER_NAME."/".$treffer["datei_url"][$i]."</a></td>
- ";
- echo "<td align=\"right\"><small><b>".$treffer["woerter"][$i]." ".$woerter." | ".$treffer["vorkommnisse"][$i]." ".$vorkommnisse."</b></small></td>
- ";
- echo "</td></tr></table><br><br>
- ";
- }
- }
- }
- if ($treffer_anzahl>0) { echo "<center>Seite:
- "; }
- $j=ceil($treffer_anzahl/$treffer_pro_seite)-1;
- for ($i=0;$i<=$j;$i++)
- {
- $zahl=$i+1;
- if (($index+1)!=$zahl) { echo "<a href=\"$PHP_SELF?suchtext=$suchtext&index=".$i."&grossschreibung=".$grossschreibung."&ganzewoerter=".$ganzewoerter."\">"; }
- echo $zahl;
- if (($index+1)!=$zahl) { echo "</a>"; }
- echo " ";
- }
- if ($treffer_anzahl>0) { echo "</center>
- "; }
- }
- ########### Ende des Suchmaschinenskripts ###########
- ?>
- </body>
- </html>
Vielen Dank!