Hallo zusammen,
leider habe ich im Archive keine entsprechenden Postings gefunden. Darum hier meine Frage an Euch.
Über ein Formular kann ein Besucher meiner Seite einen Suchbegriff eingeben. Er sucht dann in einem ASCII-File nach dem passenden String/Wort. Die Suche wird über nachstehendes PHP-Script bewerkstelligt. Doch leider werden bei MAC-Usern (Browser-unabhängig) keine Treffer angezeigt, sobald Sie Wörter mit Umlauten suchen!
Woran kann das liegen? Wie könnte das behoben werden?
Hier das Formular:
<form action="suche.php" method="post" target="_self">
<input size="20" name="query">
<input type="submit" name="submit" value="SUCHE">
</form>
Hier einige Zeilen aus dem ASCII-File aus dem gesucht wird:
<a href="i0000060.php"> | Suchbegriffa |</a> (Kommentar)<br>
<a href="i0000060.php"> | Suchbegriffb |</a> (Kommentar)<br>
<a href="i0000060.php"> | Suchbegriffc |</a> (Kommentar)<br>
<a href="p0000160.php"> | Suchbegriffd |</a> (Kommentar)<br>
Hier das PHP Script, das die Suche durchfürht:
<?php
// open file
$file = file('./ASCII-file.txt');
// loop thought file
foreach ($file as $line)
{
// exec if found
if ((stristr($line,$query)) == true)
{
// use pipe separator to expolde each line
$tab = explode("|",$line);
// mark query bold
$tab_1 = preg_replace("/((<[^>]*)|$query)/ie",'"\2"=="\1"?"\1":"<b>\1</b>"', $tab[1]);
// show line without pipe
$string = "$tab[0]"."$tab_1"."$tab[2]";
echo $string;
}
}
?>
Ich hoffe meine Frage ist verständlich!
gruß und danke
Frank