Cujo
Neues Mitglied
Hallo,
ich habe im Internet ein Suche-Skript gefunden, das ich gerne anpassen würde:
Die Log-Datei am Ende des Skripts habe ich eingefügt. Ich hätte gerne, dass in der Log-Datei die Anzahl der Treffer eingetragen wird. Die Funktion count($hit, COUNT_RECURSIVE), die ich dafür verwende, liefert mir als Ergebnis aber immer 1.
Hat jemand eine Idee, wie ich die Anzahl der Treffer ermitteln kann?
ich habe im Internet ein Suche-Skript gefunden, das ich gerne anpassen würde:
PHP:
$pattern ='';
$array_all='';
define ("tube", true);
//set_time_limit(30); //optional; zum verlaengern der Script Laufzeit
$pattern = strip_tags($_GET['wordpas']);
$pattern = preg_replace('/[\/\(\)\{\[\]\}\#\*\^\<\>\=\?\*\.\,\;\!\"\'\|\\\]/U', '',$pattern);
$pattern = htmlentities(trim($pattern));
include('confic_.php');
//Anzahl der zu erkennenden Zeichen; optional 30 ,2
$patternlaenge=strlen($pattern);
switch ($patternlaenge)
{
case 0:
echo "<div class=\"out\">Bitte geben Sie einen Suchbegriff ein.<br /><br /><br /><br /><br /></div>";
echo "<div class=\"adress\"><a href=\"http://web-script-tube.de\" target=\"_blank\"><i> By Web-Script-Tube</i></a></div>";break;
case $patternlaenge<3: echo "Bitte geben Sie mindestens 3 Zeichen ein.";break;
case $patternlaenge>30: echo "Bitte geben Sie maximal 30 Zeichen ein.";break;
default:
for($i=0;$i<=count($array_all);$i++)
{
$site = '';
$site = file_get_contents($array_all[$i]);
preg_match('/<head>(.*)<\/head>/is',$site, $alL_meta);
if (stristr($alL_meta[1], "utf-8"))
{
$alL_meta[1] = utf8_decode($alL_meta[1]);
$site = utf8_decode($site);
}
else
{
$site =html_entity_decode($site);
}
$site = preg_replace('/<script[^>]*>(.*?)<\/script[^>]*>/si', ' ', $site);
$site = preg_replace('/<!\-\-(.*?)\-\->/', '', $site);
$site = htmlentities(strip_tags($site));
$str_true = preg_match_all("/\b$pattern\b.+/is", $site, $hit);
if (($str_true==true) or (!empty($hit[0][0])) )
{
$string = '';
$string_ = '';
$resulut = '';
$count_number='';
//laenge der Verweise; optional 200
$string = substr($hit[0][0], '0', '200');
$string_ = explode(" ", $string);
if ($string_[1] == true)
{
$count_number = count($string_);
$body_text ='';
for($h = 0; $h < $count_number-1; $h++)
{
$body_text[$h] = $string_[$h];
}
$resulut = implode(" ", $body_text);
//Beginn von nicht entfernten Sonderzeichen; kann erweitert werden
$zeichen_in = array("/"/", "/&/", "/ /", "/nbsp;/", "/quot;/"); //in
$zeichen_out = array("" , "" , "" , "" , "" ); //out
$resulut = preg_replace($zeichen_in, $zeichen_out,$resulut);
//Ende
$out_words='';
preg_match_all("/\b$pattern\b/i", $site, $hit);
preg_match_all("/\b$pattern\b/i", $resulut, $out_words);
$vf ='';
$vf =$out_words[0][0];
$vc='';
$vc = '<strong>'.$vf.'</strong>';
$volume='';
$volume[] =$vf;
$resulut = preg_replace("/\b$vf\b/i", $vc, $resulut);
preg_match('/<title>(.*)<\/title>/i',$alL_meta[1], $head);
$head[1] = htmlentities($head[1]);
if (empty($head[1]))
{
$head[1] = 'Titel';
}
echo "<div class=\"title\"><a href=\" $array_all[$i] \"><u> $head[1] </u></a></div>";
echo "<div class=\"out\">".$resulut." ...<br /></div>";
echo "<div class=\"url\"><i>Url:</i><a href=\" $array_all[$i] \"> $array_all[$i] </a><br /><br /><br /></div>\n";
}
}
}
if ($vf)
{
echo "<br /><br /><div class=\"adress\"><a href=\"http://web-script-tube.de\" target=\"_blank\"><i> By Web-Script-Tube</i></a></div>";
}
if (empty($resulut))
{
echo "<div class=\"out\">Es wurden keine mit Ihrer Suchanfrage - $pattern - übereinstimmenden Dokumente gefunden.<br /></div>";
echo "<div class=\"out\">Vorschläge:<br /><br /></div>";
echo "<div class=\"out\">* Stellen Sie sicher, dass alle Wörter richtig geschrieben wurden.<br /></div>";
echo "<div class=\"out\">* Versuchen Sie es mit einem anderen Suchbegriff.<br /></div>";
echo "<div class=\"out\">* Versuchen Sie einen allgemeineren Suchbegriff.<br /><br /><br /><br /><br /></div>";
echo "<div class=\"adress\"><a href=\"http://web-script-tube.de\" target=\"_blank\"><i>By Web-Script-Tube</i></a></div>";
}
//Log-Datei
$timestamp = time();
$datum = date("d.m.Y H:i",$timestamp);
$fp = fopen("scripts/inc/suche.log", "a+");
$ausgabe = "\n" . $pattern . " (" . count($hit, COUNT_RECURSIVE) . ") " . $datum;
fputs($fp,$ausgabe);
fclose($fp);
}
Hat jemand eine Idee, wie ich die Anzahl der Treffer ermitteln kann?