Computerhilfen.de Logo
Forum
Tipps
News

Suchefunktion in PHP soll nur den <body> bis </body> Bereich durchsuchen

Hallo alle zusammen...

Hätte da mal ein kleine Frage...!

Wie bekomme ich es hin, das bei meinem Suchscript (PHP) nur der Bereich zwischen <body> und </body> durchsucht wird???

Momentan funktioniert die Suche einwandfrei, bis auf die Tatsache, das Sie halt auch meie Meta-tags durchsucht (Stichwort Keywords)....

Wär Klasse wenn mir jemand helfen könnte!!!

Hier der Code:

<?php

$dateityp = ".htm"; //= alle HTML-Dateien (.htm, .html, .shtml )

if(empty($search)) {$search=$_POST[search];}
if(strlen($search) < "2")
{echo "Ihr Suchbegriff muss ein Länge von mindestens 2 Zeichen haben!";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);
$string = strtolower($string);
$search = strtolower($search);
$test = substr_count($string, $search);
if(!empty($test))
{
$string = ereg_replace("\n", "", $string);
$string = strip_tags($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 Fundstelle/n</b> <br>$rest <br><a href=\"$file\" target=\"_self\" class=\"link\"> >> $file</a><br><br>\n";
$found ++;   
}}}}
closedir($verz);
if($found != "0")
{
echo "Ihr Suchbegriff <strong>\"".$search."\"</strong> wurde <strong>$found</strong> mal gefunden.<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 "Leider wurden zu Ihrem Suchbegriff <strong>\"".$search."\"</strong> keine Einträge gefunden!";}
?>

Danke bereits jetzt!!!

Gruß

Daddy


Antworten zu Suchefunktion in PHP soll nur den <body> bis </body> Bereich durchsuchen:

$string = substr($string, strpos($string , "<body"), (strpos($string , "</body>") - strpos($string , "<body")));

Das würde mir mal so auf die schnelle einfallen.
Ich hab den Code ned getestet.

MFG BWA
$array .= "<b>$test Fundstelle/n</b> <br>$rest <br><a href=\"$file\" target=\"_self\" class=\"link\"> >> $file</a><br><br>\n";

Schaut ned gut aus wenn er "1 Fundestellen/n" ausgibt.

$array .= "<b>$test Fundstelle\n</b> <br>$rest <br><a href=\"$file\" target=\"_self\" class=\"link\"> >> $file</a><br><br>\n";

\n !=/n

MFG BWA

« um Bild herum schreiben ohne TabelleInhalt von Webseiten einsehen? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!