Suchfunktion

  • Themenstarter Themenstarter Slin61
  • Beginndatum Beginndatum
S

Slin61

Hi Leute,
ich hab ehrlich keinen schimmer, wie ich mit php Textdateien durchsuchen und mir die Ergebnisse anschauen kann. Ich weiß, dass man dazu ein Array schreiben muss, aber wenn ich den Inhalt des Arrays aus der Textdatei lesen will, kommt da immer ein Fehler. Kann man dann auch ganze Zeilen anzeigen lassen?
Ich weiß nicht, wie ich es genauer beschreiben soll, aber ich werde es versuchen, wenn Fragen da sind.
 
Wenn ich jetzt nach dem Wort "Song" suche und in meineer Datei steht:
Song|Musik/Song.mp3

zeigt der mir dann beides an?

Ich hab das mit:
<?php
$suche = $_POST["stichwort"];
$datei = texte/sounds.txt;
$array = array($datei);

in_array($suche, $array)
{
echo "Das Lied ".$suche." ist vorhanden";
}
else
{
echo "Das Lied ist nicht vorhanden. Suche <a href=" http://www.youtube.com">hier</a>;
}
?>

Dazu wollte ich noch einen Link schreiben, der dann das Lied abspielt, aber das habe ich hier weggelassen.
 
Funktioniert dein Script denn so?
Ansonsten ist es warscheinlich besser die ganze Datei in einen String einzulesen und mit strpos() durchsuchen.
 
Die Datei "lieder.txt" halt folgenden Inhalt: Musik,Song.mp3,Song


PHP:
<?php

$suche = "Song";
$datei = "lieder.txt";

$arr = explode(",", file_get_contents($datei));

if (in_array($suche, $arr)) {
	echo "Das Lied '".$suche."' ist vorhanden";
} else {
	echo "Das Lied '" .$suche ."' ist nicht vorhanden. Suche <a href=' http://www.youtube.com'>hier</a>";
}
?>

Ansonsten lass ich das hier einfach mal ohne weitere Erklärung stehen.

P.S. Ich habe es nicht mit file() gelöst weil ich da Probleme mit dem Zeilenumbruch habe!
P.P.S. Die von timestamp vorgeschlagene Lösung mit strpos() ist sicher für dein Vorhaben besser geeignet.
 
Deine Möglichkeit hat funktioniert und ich hab das noch ein bisschen abgewandelt, weil ich ja die Datei abspielen wollte. Das sieht dann so aus:

<?php

$suche = "Song";
$datei = "lieder.txt";

$arr = explode(",", file_get_contents($datei));

if (in_array($suche, $arr)) {
echo "Das Lied '".$suche."' ist vorhanden<br>";
<param name="src" value="$suche.mp3" />
<embed src="Musik/$suche.mp3" width="200" height="30" />
</object>
} else {
echo "Das Lied '" .$suche ."' ist nicht vorhanden. Suche <a href=' http://www.youtube.com'>hier</a>";
}



?>

und funktioniert leider überhaupt nicht mehr.

Da steht dann:

Parse error: syntax error, unexpected '<' in C:\xampp\htdocs\Suche\Versuch.php on line 10
 
Du schließt auch den String bei Echo ab. Dadurch wird "<param..." wieder als PHP-Code interpretiert und es kommt zu einem Fehler.

Und bitte mach deinen Code in folgende Tags: [code=php]Your code[/code]
 
So:

PHP:
<?php

$suche = "Song";
$datei = "lieder.txt";

$arr = explode(",", file_get_contents($datei));

if (in_array($suche, $arr)) {
echo "Das Lied '".$suche."' ist vorhanden<br>";
?>
<param name="src" value="$suche.mp3" />
<embed src="Musik/$suche.mp3" width="200" height="30" />
</object>
<?php
} else {
echo "Das Lied '" .$suche ."' ist nicht vorhanden. Suche <a href=' http://www.youtube.com'>hier</a>";
}



?>
 
Zurück