Per php eine zeile einer html seite auslesen?
Per php eine zeile einer html seite auslesen?
Hallo an alle.
Ich hätte damal eine Frage. HEHE sonst würd ich ja auch kein Thema aufmachen *g* !
Also ich möchte auf einer meiner Seite verschiedene Angebote der Firma zeigen bei der ich angestellt bin. Nun ist es so eigentlich nicht schwer allerdings ändert mein Chefe diese willkürlich (Datum und Zeitmäßig) zwischen 4 Verschiedenen Angeboten. Meiner Idee und Hoffnung war nun ob es möglich ist die angebotszeile per php auslesen zulassen und dementsprechend sofort das aktuelle angebot anzeigen zu lassen.
Also wenn zum beispiel dort eine 1 oder ein A steht das erste Angebot
wenn ne 2 oder ein B das zweite Angebot
und soweiter.
Bisher habe ich leider nur diesen Ansatz
<?php
$content = file_get_contents("inhalt_mit_links.html");
?>
Aber wie kann ich da nun die eine Zeile rausfiltern?
Wäre schön wenn ihr mir helfen könntet
Ich hätte damal eine Frage. HEHE sonst würd ich ja auch kein Thema aufmachen *g* !
Also ich möchte auf einer meiner Seite verschiedene Angebote der Firma zeigen bei der ich angestellt bin. Nun ist es so eigentlich nicht schwer allerdings ändert mein Chefe diese willkürlich (Datum und Zeitmäßig) zwischen 4 Verschiedenen Angeboten. Meiner Idee und Hoffnung war nun ob es möglich ist die angebotszeile per php auslesen zulassen und dementsprechend sofort das aktuelle angebot anzeigen zu lassen.
Also wenn zum beispiel dort eine 1 oder ein A steht das erste Angebot
wenn ne 2 oder ein B das zweite Angebot
und soweiter.
Bisher habe ich leider nur diesen Ansatz
<?php
$content = file_get_contents("inhalt_mit_links.html");
?>
Aber wie kann ich da nun die eine Zeile rausfiltern?
Wäre schön wenn ihr mir helfen könntet
- oxpus
- Administrator
- Beiträge: 28737
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Nun ja, Du must bedenken, daß file_get_contents(); die Seite in einen String ausliest. Der kann dann schon mal "explodieren".
Nimm besser stattdessen file();, dann wird jede Zeile in ein Array gelesen, welches man dann bequem auseinander nehmen kann (also $variable[0] wäre die erste, $variable[1] die zweite Zeile, etc...).
Nimm besser stattdessen file();, dann wird jede Zeile in ein Array gelesen, welches man dann bequem auseinander nehmen kann (also $variable[0] wäre die erste, $variable[1] die zweite Zeile, etc...).
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
- oxpus
- Administrator
- Beiträge: 28737
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Wenn, dann musst Du schon wissen, in welche Zeile was steht.
Lass Dir doch einfach den Inhalt von $content erst einmal anzeigen:
Dann kannst Du sehen, in welcher $content[...] die gewünschten Inhalte stehen.
Und wenn eh immer in der selben Zeile die Daten enthalten sind, kann man das dann auch fest verdrahten und letzlich nur gleich mit
das gewünschte anzeigen lassen...
Lass Dir doch einfach den Inhalt von $content erst einmal anzeigen:
Code: Alles auswählen
echo print_r ($content);
Und wenn eh immer in der selben Zeile die Daten enthalten sind, kann man das dann auch fest verdrahten und letzlich nur gleich mit
Code: Alles auswählen
echo $content[x];
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
ja also die zeile weiß ich ja aber ich möchte diese nicht angzeigt bekommen ich wollte, da es vier verschiedene Zeilenmöglichkeiten sind diese nun per if else abfrage dann weiterverwenden. Ist der Teil dann richtig?
Edit:
Also ich habe nun zwei verschiedene Arten versucht mit if else und mit switch aber irgendwas fehlt mir nunn das ich nicht weiterkomme. Es bleibt eine weiße seite
bleibt jedes mal eine weiße seite ohne fehler
ebenfalls fehlerlose weiße seite
Edit:
Also ich habe nun zwei verschiedene Arten versucht mit if else und mit switch aber irgendwas fehlt mir nunn das ich nicht weiterkomme. Es bleibt eine weiße seite
Code: Alles auswählen
<?php
$content = file("die zu ursprungsseite seite");
if ("Level ist 1" == $content[29]) {
echo "Die Daten wurden gelöscht";
}
if ("Level ist 2" == $content[29]) {
echo "Die Daten wurden gespeichert";
}
if ("Level ist 3" == $content[29]) {
echo "Die Daten wurden hinzugefügt";
}
?>
bleibt jedes mal eine weiße seite ohne fehler
Code: Alles auswählen
<?php
$content = file("die zu ursprungsseite seite");
switch ($content[29]) {
case 'Level ist 1':
echo print_r ($content);
case 'Level ist 2':
echo $content[29];
}
?>
Zuletzt geändert von mcfly am Sa 25.Aug, 2007 19:04, insgesamt 2-mal geändert.
- oxpus
- Administrator
- Beiträge: 28737
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Moment, langsam.
In den "bekannten" Zeilen stehen Werte, die Du auslesen und weiterverwenden willst, also gleich in einem Script ohne weitere Anzeigen?
Ist dann der Text immer gleich?
Dann könnte man ihn einfach abschneiden, also
wobei $pos die Position der Zahl im Text ist (-1) und $len die Länge des Wertes.
Man kann auch hier großzügiger mit der Länge sein, denn mit
wird der Text dahinter eh abgeschnitten.
Hilft das oder bin ich nun komplett auf der falschen Spur?
Bislang kamen da zu wenige Infos, um gezielter helfen zu können (ich kenne z. B. die Seite überhaupt nicht)...
In den "bekannten" Zeilen stehen Werte, die Du auslesen und weiterverwenden willst, also gleich in einem Script ohne weitere Anzeigen?
Ist dann der Text immer gleich?
Dann könnte man ihn einfach abschneiden, also
Code: Alles auswählen
$wert = substr($content[29], $pos, $len);
Man kann auch hier großzügiger mit der Länge sein, denn mit
Code: Alles auswählen
$wert = intval($wert);
Hilft das oder bin ich nun komplett auf der falschen Spur?
Bislang kamen da zu wenige Infos, um gezielter helfen zu können (ich kenne z. B. die Seite überhaupt nicht)...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Also die Zeile 29 beim auslesen gibt es in vier verschiedenen Varianten nach welcher ich nun meine eigene Seite kreieren möchte. Angezeigt soll die Zeile nicht werden.
Ich kriege es ja hin das die Zeile angezeigt wird nur weiß ich nun nicht wie ich sie zwar lesen kann von der anderen Seite aber anstelle die nun anzeigen zu lassen soll entweder per if oder switch entsprechend sich nun meine Seite aufbauen.
Online sind beide Seiten noch nicht offiziell da dieser Abschnitt einer der wichtigsten ist um die Seiten fertig zu stellen.
Ich kriege es ja hin das die Zeile angezeigt wird nur weiß ich nun nicht wie ich sie zwar lesen kann von der anderen Seite aber anstelle die nun anzeigen zu lassen soll entweder per if oder switch entsprechend sich nun meine Seite aufbauen.
Online sind beide Seiten noch nicht offiziell da dieser Abschnitt einer der wichtigsten ist um die Seiten fertig zu stellen.
- oxpus
- Administrator
- Beiträge: 28737
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Du sprichtst weiterhin in Rätzeln.
Ist denn in der besagten Zeile der gewünschte Inhalt nun immer nach einem bestimmten Text, immer an einer bestimmten Stelle oder wie soll man den nun finden?
Ist denn in der besagten Zeile der gewünschte Inhalt nun immer nach einem bestimmten Text, immer an einer bestimmten Stelle oder wie soll man den nun finden?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Also gut ich hoffe nun ist wird es verständlicher.
Ich habe nun webseite 1
auf dieser Seite ist die Zeile 29 die sich verändert zwischen vier verschiedenen Texten
Level ist 1
Level ist 2
Level ist 3
Level ist 4
diese Zeile würde ich gerne einlesen
nun soll dann bei
"Level ist 1" eine andere seite generiert werden als bei "Level ist 2"
das einlesen der ganzen Seite ist ja nun schon vorhanden
und den unterschied zwischen den einzelnen aussehen und funktionen wollte ich nun entweder durch eine if else schleife machen oder mit switch aber bei beidem scheint trotzdem was zu fehlen da ich mit dem eingelesenen text nicht weiterarbeiten kann. Anzeigen geht auch die einzelne zeile um die es geht aber wie mache ich das nun per php das der text nicht angezeigt wird sondern das ich diese zeile als ursprung für die if else oder switch befehle nehme. Da fehlt irgendwas da so wie oben beschrieben ich nun leere seiten kriege.
Hoffe das war nun etwas besser erklärt was ich für ein Problem habe
Ich habe nun webseite 1
auf dieser Seite ist die Zeile 29 die sich verändert zwischen vier verschiedenen Texten
Level ist 1
Level ist 2
Level ist 3
Level ist 4
diese Zeile würde ich gerne einlesen
nun soll dann bei
"Level ist 1" eine andere seite generiert werden als bei "Level ist 2"
das einlesen der ganzen Seite ist ja nun schon vorhanden
und den unterschied zwischen den einzelnen aussehen und funktionen wollte ich nun entweder durch eine if else schleife machen oder mit switch aber bei beidem scheint trotzdem was zu fehlen da ich mit dem eingelesenen text nicht weiterarbeiten kann. Anzeigen geht auch die einzelne zeile um die es geht aber wie mache ich das nun per php das der text nicht angezeigt wird sondern das ich diese zeile als ursprung für die if else oder switch befehle nehme. Da fehlt irgendwas da so wie oben beschrieben ich nun leere seiten kriege.
Hoffe das war nun etwas besser erklärt was ich für ein Problem habe
Code: Alles auswählen
if (strpos($content[29], 'Level ist 1') != FALSE)
{
...
}
else if (strpos($content[29], 'Level ist 2') != FALSE)
{
...
}
else if (strpos($content[29], 'Level ist 3') != FALSE)
{
...
}
else if (strpos($content[29], 'Level ist 4') != FALSE)
{
...
}
else
{
echo 'Das Level konnte nicht Ermittelt werden.';
}
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________
Kein Support per PM, ICQ oder eMail!!![/center]
______________________________________
Kein Support per PM, ICQ oder eMail!!![/center]
AmigaLink, dein Code ist so nicht ganz richtig
Die Funktion strpos gibt die Position des Strings wieder der gefunden wurde. Steht dieser an erster Stelle, so wird 0 zurückgegeben - was bei deinem Code mit false gewertet wird. Der richtige Code lautet so:
Hiermit wird bei der Rückgabe auf gleiche Inhalte und gleiche Variablen-Typen geachtet!
Die Funktion strpos gibt die Position des Strings wieder der gefunden wurde. Steht dieser an erster Stelle, so wird 0 zurückgegeben - was bei deinem Code mit false gewertet wird. Der richtige Code lautet so:
Code: Alles auswählen
if (strpos($content[29], 'Level ist 1') !== false)
{
...
}
Site: www.mx-forums.de - New!
phpBB MODs: Click Here
phpBB MODs: Click Here
- oxpus
- Administrator
- Beiträge: 28737
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Theoretisch würde das so auch klappen:
aber der false-Vergleich ist sichererer.
Code: Alles auswählen
if (strpos($content[29], 'Level ist 1'))
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
@ Giga
Ich habe das zweite = nur Vergessen. Geplant war es. Wenn ich es nicht geplant hätte, dann hätte ich den Code so angegeben wie es oxpus nun getan hat.
Ich habe das zweite = nur Vergessen. Geplant war es. Wenn ich es nicht geplant hätte, dann hätte ich den Code so angegeben wie es oxpus nun getan hat.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________
Kein Support per PM, ICQ oder eMail!!![/center]
______________________________________
Kein Support per PM, ICQ oder eMail!!![/center]
Hehe, dann ist ja gut
... hatte mit der Funktion nämlich auch schon meine Probleme, weil ich es so wie bei Oxpus angegeben geschrieben hatte.
Wiegesagt: der false-Vergleich ist auf jeden Fall sichererer!
... hatte mit der Funktion nämlich auch schon meine Probleme, weil ich es so wie bei Oxpus angegeben geschrieben hatte.
Wiegesagt: der false-Vergleich ist auf jeden Fall sichererer!
Site: www.mx-forums.de - New!
phpBB MODs: Click Here
phpBB MODs: Click Here
Richtig.Wiegesagt: der false-Vergleich ist auf jeden Fall sichererer!
Obwohl ein einfacher Vergleich ausreicht wenn man davon ausgehen kann, das der zu suchende Wert garantiert nicht an erster Stelle steht.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________
Kein Support per PM, ICQ oder eMail!!![/center]
______________________________________
Kein Support per PM, ICQ oder eMail!!![/center]