benötige Hilfe bei Suche in html-Dateien

Hui das sieht aber komplex aus. Muss mich erstmal einlesen.
Aber der springende Punkt ist ja wie sage ich der suche.php das sie anker1, anker2, .. an den Link anfügen soll? Sonst funktioniert es ja nicht.
 
Da müsstest du nur eine for-Schleife benutzen. Ungefähr so:
PHP:
for($y=0;$y<count($treffer);$y++) {
echo('<li><a href="viewer.php?file='.$document.'&search='.$search.'&count='.$counter.'#anker'.$y.'" target="MAIN_FRAME">'.$document.'</a></li>'.PHP_EOL);
}
schiese
 
Okay ich werde das dann mal ausprobieren und melde mich dann nochmal bei dir.
Danke schonmal.


Edit:
Habe jetzt beides mal eingebaut, aber scheint nicht zu funktionieren. Er zeigt mir zwar Ergebisse an und ich kann auch die Dateien öffnen aber er markiert Sie nur rot. Springt aber nicht zu den einzelnen stellen in der Datei. Hab auch schon bissel rumprobiert aber brachte auch nix.
 
Zuletzt bearbeitet:
Hatte ein bischen Zeit und ich fand es auch recht interessant, also habe ich mal was gebastelt:

index.php
PHP:
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="search">
<p>
<input type="submit" value="suchen">
</form> 
<p><br>
<?php  
$m = 1;

if (isset($_POST['search']) ) {
$search = $_POST['search'];
foreach (glob('*.html') as $document) {
$array = array();
$anzahl = array();
$content = strip_tags(file_get_contents($document));

$array = explode(" ",$content);
for($y=0;$y<count($array);$y++) {
if ( preg_match("/$search/i",$array[$y]) ) {
array_push($anzahl,$y);
}
}

if(!empty($anzahl) ) {

for($y=0;$y<count($anzahl);$y++) {
if($y == 0) {
echo $m.". <a href='viewer.php?file=".$document."&search=".$search."#anker".$y."' target=\"MAIN_FRAME\">".$document."</a> ";
} else {
echo "<a href='viewer.php?file=".$document."&search=".$search."#anker".$y."' target=\"MAIN_FRAME\">".$y."</a> ";
}
}
echo "<br>";

$m++;

} // Empty-Ende
} // foreach Ende
} // ISSET ENDE
?>


viewer.php
PHP:
<?php
$file = $_GET['file'];
$suchbegriff = $_GET['search'];
// Inhalt der html Datei einlesen und in $content speichern
$content = file_get_contents($file);  
$x = 0;
$array = explode(" ",$content);
for($y=0;$y<count($array);$y++)  {
if ( preg_match("/$suchbegriff/i",$array[$y]) ) {
$array[$y] = preg_replace("/$suchbegriff/isU","<a name='anker".$x."'><span style='color:red'>$0</span></a>", $array[$y],1);
$x++;
}
}
$string = implode(" ",$array);
echo $string; 
?>

schiese
 
Zuletzt bearbeitet:
Hi,

WOW :eek: danke dir :)

Das ist genau das was ich gebraucht habe! Kann dir garnet oft genug danken!
Jetzt muss ich das halt noch auf mein Skript umwandeln.
Kannst du mir vllt noch sagen wies möglich ist den Text zwischen den Tags </title> und </title> in eine Variable zu speichern ? Ich mach da grade mit verschiedenen String Funktionen rum.
 
Damit kenn ich mich nicht gut aus, aber folgendes funktioniert bei mir:
PHP:
$string = "<title>Hallo</title>";
$text = preg_replace("/\<title\>(.*)\<\/title\>/isU","$1", $string);

schiese
 
Okay ich werde das gleich mal testen. Müsst mir dann halt eine Funktion schreiben, die nach title sucht und mir dann den String dazwischen rausholt.
 
Zurück