ich gebe etwas ins suchformular und die z.b. suche.php soll das suchergebnis nach meine *txt beispielzeile mit formatierung ausgeben. ich habe es zur zeit so, wird aber nix mit formatierungen die in der txt stehen ausgegeben. brauche nen anderen php code, wie kann die txt zeile auch so ausgegeben werden??lg
hier die txt zeile mit formatierung:
<h1><a href="http://www.test.de" target="_blank"><img src="images/handelsblatt.jpg" border="1" align="left"></a></h1><p>Beispieltext <a href="http://www.test.de" target="_blank">»mehr</a><br clear="all"</font></p><hr />
php code
<?php
function findwort($wort=""){
/*
* Wenn wort leer ist, Funktion beenden.
*/
if(strlen($wort)==0){
$gef_zeilen[]="Geben sie einen Suchbegriff ein";
return $gef_zeilen;
}
/*
* Datei zeilenweise in ein Array einlesen.
* 80 ist die Zeilenlänge, erhöhen falls nötig.
*/
$i=0;
$f=fopen("zitate.txt","r");
while($line=fgets($f,80)){
$text_lines[$i]=$line;
$i++;
}
fclose($f);
/*
* Zeilenweise das Array mit der Funktion strpos durchsuchen.
* strpos arbeitet case-sensitiv, deshalb werden mit strtolower
* alle Groß- in Kleinbuchstaben umgewandelt.
*/
$i=0;
while($i<count($text_lines)){
$pos = strpos(strtolower($text_lines[$i]),strtolower($wort));
if($pos === false){
/*
* Wenn $pos false ist, tue nichts!!
*/
}else{
$gef_zeilen[$i]="Der Suchbegriff \"$wort\" wurde in Zeile ".($i+1)." an Position $pos gefunden ==> ".htmlspecialchars($text_lines[$i]);
}
$i++;
}
/*
* count zählt die Elemente im Array.
*/
if(count($gef_zeilen)>0){
return $gef_zeilen;
}else{
$gef_zeilen[0]="Der Suchbegriff \"$wort\" wurde nicht gefunden";
return $gef_zeilen;
}
}
/*
* Ist das Formular gesendet, gibt die Funktion ein Array zurück, deshalb mit foreach ausgeben.
*/
if(isset($_POST['suche'])){
$erg=findwort($_POST['suche']);
foreach($erg as $zeile){
echo "<p>$zeile</p>";
}
}
?>