JulianMark
Neues Mitglied
Code:
<?php include '1.php'; ?>
<?php
$dateityp = ".php";
if(empty($search)) {$search=$_GET[q];}
if(strlen($search) < "3")
{echo "Geben Sie einen Suchbegriff von mindestens drei Buchstaben ein.";exit;}
$found = "0";
$verz = opendir('.');
while($file = readdir($verz))
{
if($file != "." && $file != ".." && !is_dir($file))
{
$filetype = stristr($file, $dateityp);
if(!empty($filetype))
{
$string = file_get_contents($file);
$string = html_entity_decode($string);
$test = substr_count($string, $search);
if(!empty($test))
{
$string = ereg_replace("\n", "", $string);
$string = strip_tags($string);
$pieces = explode(strtolower($search), strtolower($string));
$pieces = explode($search, $string);
$piece1 = substr($pieces[0], -50);
$piece1 = explode(" ", $piece1);
array_shift($piece1);
$piece1 = implode(" ", $piece1);
$piece2 = substr($pieces[1], 0, 100);
$piece2 = explode(" ", $piece2);
array_pop($piece2);
$piece2 = implode(" ", $piece2);
$rest = "$piece1<b>$search</b>$piece2";
$array .= "<b>$test</b> mal in Datei: <a href=\"$file\" target=\"_self\" class=\"link\">$file</a> <br>...$rest... <br> <br><br>\n";
$found ++;
}}}}
closedir($verz);
if($found != "0")
{
echo "Anzahl der gefundenen Seiten: <strong>$found</strong> <br /> Sortiert nach der Häufigkeit des Vorkommens.<br><br>";
$array = explode("\n", $array);
natsort($array);
reset($array);
$array = array_reverse($array);
while(list($line_num, $line) = each($array))
{
$ausgabe .= "$line\n";
}
print $ausgabe;
}
if($found == "0")
{ echo "Es wurden keine übereinstimmungen mit dem eingegebenen Suchbegriff gefunden.";}
?>
<?php include '2.php'; ?>
Man hat mir schon gesagt, dass der Code unsauber ist, aber das ist in Ordnung, denn er funktioniert so, wie ich es möchte. Doch zwei kleine Probleme gibt es trotz allem noch: Ich möchte Dateien aus einem Verzeichnis von der Suche ausschließen, in dem Verzeichnis befinden sich auch Dateien die durchsucht werden können. Ansonsten noch ein größeres Problem: Ignorierende Groß- und Kleinschreibung? Falls sich jemand wirklich damit auskennt, kann er bitte oben genannte Dinge dazu editieren. Falls es doch etwas komplizierter werden sollte, dann bitte ich um Rücksicht weil ich noch ganz neu in PHP in.