*.txt datein durch suchen

Ich will eine Liste nach einen Namen durchsuchen. Die datei baut sich so auf:
Zitat:

hans
peter
tony
karl

PHP:
<?php
$spieler = $_POST["spieler"];
$lines = file ('spielerliste.txt');
$ok = $spieler ." gibt es nich :(";
foreach ($lines as $line_num => $line) {
if($line == $spieler){
	$ok = $spieler ."gibt es";
	}
}

echo "$ok<p>";
#eigentlich untwichtig damit wollte ich nur kontrollieren ob der die datei einließt
foreach ($lines as $line_num => $line) {
    echo htmlspecialchars($line) ."<br>";
}

?>




Edit: Die in der Textdatei ist am Ende jeweils ein Zeilen umbruch, so gehts:
PHP:
<?php
$spieler = $_POST["spieler"];
$spieler = $spieler ."\n";//auch einen Zeilenumbruch beim Spielernamen
$lines = file ('spielerliste.txt');
$ok = $spieler ." gibt es nich ";
foreach ($lines as $line_num => $line) {

if($line == $spieler){
    $ok = $spieler ."gibt es";
    }
}

echo "$ok<p>";

foreach ($lines as $line_num => $line) {
    echo htmlspecialchars($line) ."<br>";
}

?>
 
zum Entfernen von Zeilenumbrüchen und Whitespaces am Ende einer Zeile gibt es
rtrim()

zum Entfernen von Whitespaces am Zeilenanfang gibt es passend dazu
ltrim()

alternativ könntest du auch auf reguläre Ausdrücke setzen
preg_match()
 
PHP:
$file = file ( 'dateiname.txt' );

$namen = array_map ( 'trim', $file );

if ( in_array ( 'Paul', $namen ) )
    echo 'gefunden, juchuuu :-D';
else
    echo 'nicht gefunden, räbäää :-(';
 
Zurück
Oben