Einzelne zeile aus quelltext auslesen php
Ich möchte eine bestimmte Zeile aus dem Quelltext einer Webseite auslesen. Wie mache ich das am besten mit PHP.
Und wie kann ich aus dieser Zeile, dann einen bestimmt Teil davon auslesen?
Z. B.
Seite 1 - Zeile 100:
Du bist 10 Jahre alt
Seite 2 - Zeile 100:
Du bist 9,87 Jahre alt
Seite 3 - Zeile 100:
Du bist 82,99 Jahre alt
Also ich brauche die Zahlen
7 Antworten zur Frage
Videos zum Thema
YouTube Videos
Einzelne Zeile aus dem Quelltext auslesen - php
Hi, wenn der Text drumrum immer gleich ist und nicht öfters vorkommst, brauchst du keine Zeilen zählen, einfach den Text suchen:
preg_match("/Du bist Jahre alt/", $text, $matches);
var_dump;
$match es sollte nur die Zahl sein.
Die Variable $text fülle ich einfach mit $text = fopen($url, "r"); oder?
Und wenn jetzt Kommazahlen kommen ist das ein Problem? Z. B. 123,924?
text = file_get_contents;
Nein, das , steht da in der Zeichenklasse mit drin. Wenn's auch nen. sein darf, musst du den da halt noch dazuschreiben.
okay, das funktioniert sehr gut Aber wie muss ich es machen, dass am schluss dann nur die Zahl ausgegeben wird?
man ich sollte genauer lesen - sorry
aber wenn ich jetzt eine zahl die z. b. in einem div-container ist auslesen möchte, dann kommt eine fehler meldung function.preg-match]: Unknown modifier 'a'"/ /", $quelltext, $matches2);
echo $matches2;
Das / am Anfang und Ende hat im RegEx eine Bedeutung als Trenner wenn das nochmal im Text vorkommt, wird das nix. Nimm da ein anderes Zeichen, z.B. #, ist einfacher, als alle / mit \ zu escapen:
preg_match("# #", $quelltext, $matches2);
Es kommt zwar keine Fehlermeldung mehr, aber es wird leider nix ausgeben :S
Dann "trifft" das Suchmuster halt nix, da reicht schon, wenn ein Leerzeichen nicht passt. Versuche mal:
preg_match("#alt=\"Germany Flag\"/>\s*#", $quelltext, $matches2);
\s* ist kein oder beliebige viele Leerzeichen.
Lies ggfs. malRegenechsen :: Ideas come true | Reguläre Ausdrücke allg., wie man so was baut.