Datei auslesen
john18
- php
Hallo, ich habe einen Script geschrieben um Termine aus einer Textdatei auszulese. Nun möchte ich das nur die Termine ausgelesen werden die als erstes Zeichen ein "§" haben.
Hier ist der Quelltext:
<?
$fp = fopen('termine.txt', 'r');
$help = "#";
$nummer = 0;
if ($fp)
{
while (!feof($fp))
{
$zeile = fgets($fp, 1000);
$pos2 = strpos ($zeile,$help);
$pos3 = $pos2+1;
$pos4 = strrpos($zeile,$help);
$pos5 = $pos4-2;
$pos6 = $pos4+1;
$lesen = substr ($zeile,$pos3,$pos5);
$lesen2 = substr ($zeile,$pos6);
echo '<table width="404" border="0" cellspacing="4" cellpadding="0">
<tr>
<td class=datum>'.$lesen.'</td>
</tr>
<tr>
<td class=titel>'.$lesen2.'</td>
</tr>
</table>';
}
fclose($fp);
}
else
echo "Datei wurde nicht gefunden";
?>
Kann mir BITTE jemand helfen??!??!!
Hello,
Kann mir BITTE jemand helfen??!??!!
Als erstes solltest Du Deinen Code befriedigend bis sehr gut kommentieren. Dann kann und wird Dir als zweites auch jemand helfen. So ist das eigentlich eine Unverschämtheit.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Du überprüfst einfach, zB mit substr, oder auch preg (wie auch immer), ob der
erste String ein $ (oder eben was auch immer ist).
Falls ja, gib ihn aus.
Du überprüfst einfach, zB mit substr, oder auch preg (wie auch immer), ob der
erste String ein $ (oder eben was auch immer ist).Falls ja, gib ihn aus.
So ? Also, so geht es nicht.
<?
$fp = fopen('termine.txt', 'r');
$help = "#";
$nummer = 0;
if ($fp)
{
while (!feof($fp))
{
$zeile = fgets($fp, 1000);
$pos1 = strpos ($zeile,"§");
if ($pos1 == 0){
$pos2 = strpos ($zeile,$help);
$pos3 = $pos2+1;
$pos4 = strrpos($zeile,$help);
$pos5 = $pos4-2;
$pos6 = $pos4+1;
$lesen = substr ($zeile,$pos3,$pos5);
$lesen2 = substr ($zeile,$pos6);
echo '<table width="404" border="0" cellspacing="4" cellpadding="0">
<tr>
<td class=datum>'.$lesen.'</td>
</tr>
<tr>
<td class=titel>'.$lesen2.'</td>
</tr>
</table>';
} else {}}
fclose($fp);
}
else
echo "Datei wurde nicht gefunden";
?>
Ich habe jetzt per If abgefragt ob das erste Zeichen eine § ist. Ist das erste Zeiche ein § dann bekomme ich von der strpos eine 0, deshalb auch ... if (pos1 == 0)....
wie gesagt das geht aber nicht. Eine Idee?
Was ich meinte war, das du die Datei in ein Array einlesen solltest, dann kannst du finde ich viel leichter damit arbeiten.
hi,
ich weiss nit genau, wie deine datei aussieht
aber hier ganz kurz das beispiel:
# test variable deklarieren, das erste symbol ist §
$test='§JGJGJ BLABLA';
# das ruft eine funktion retFirstChar auf, das argument ist der $test string
# und die funktion returniert den ersten buchstaben
# ist der 1. buchstabe gleich dem kriterium §, dann echo-en wir etwas aus
if(retFirstChar($test) == '§') { echo "yo, der match stimmt überein";};
function retFirstChar($inp) {
$inp=substr($inp,0,1);
return $inp;
}
Übrigens brauchst du natürlich keine Funktion, ich persönlich mag es aber lieber, kleine nützliche funktionen zu haben.
stimmt erst mal der weg über die if abfrage, kannst du ja weiter machen :)
evtl willst du die infos in ein array ablegen, ich finde arrays immer sehr praktisch in php