Big bob: fehler gesucht

Ich hätte eine kleine Frage . Mein Script sollt aus einem Quelltext ein Stück nehmen, aus dem Stück sollte es was rausnehmen und durch nix ersetzten. Kann mir jemand helfen ?
Was ist falsch und wodurch soll ich es ersetzen?
Im Moment gibt der nur r aus.

Danke schon mal im voraus.
<?php

$fh = fopen("http://web.de/?id=V00-020209--LGeh-00", "r");

preg_match("|<!--OK--[^>]*>(.*)<table border=0 cellspacing=0 cellpadding=1|siU" ,fread($fh, 30000) , $title);

//-Wenn das weggelassen wird geht es
$title = ereg_replace("<td class=a bgcolor=#FFEDAB valign=middle align=right>(.*) </td>","",$title);
//-aber es muss gehn.

$title = $title[1];

@fclose($fh);

array($title);

echo $title;

?>

  1. Ich hätte eine kleine Frage . Mein Script sollt aus einem Quelltext ein Stück nehmen, aus dem Stück sollte es was rausnehmen und durch nix ersetzten. Kann mir jemand helfen ?
    Was ist falsch und wodurch soll ich es ersetzen?

    Deine Lesebrille durch ein funktionierendes Modell. Eventuell auch das Objekt dahinter. Durch hartnäckige Ignoranz wird es jedenfalls nicht besser.

    Bevor du dieselbe Frage also noch ein drittes Mal fast unverändert hier reinstellst, lies dir doch bitte die Antworten zu deinem ersten Anlauf von Henryk und mir durch. Die PHP-Anleitung ist auch ganz interessant, insbesondere die Seite zu preg_match().

    Mit ein bißchen Eigeninitative wärest du schon mit var_dump() auf das Problem gestoßen, und Henryk hat dir die Funktion deines Skriptes nun wirklich in allen Einzelheiten erklärt.

    soenk.e

    PS: Und bei web.de hast du doch sicher gefragt, ob du deren Dienste einfach so weiterverwenden darfst?

    1. Ich habe alles gemacht geht aber noch nit auch mit var_dump habe mir auch alles durchgelesen

  2. Moin

    Ich hätte eine kleine Frage . Mein Script sollt aus einem Quelltext ein Stück nehmen, aus dem Stück sollte es was rausnehmen und durch nix ersetzten. Kann mir jemand helfen ?
    Was ist falsch und wodurch soll ich es ersetzen?
    Im Moment gibt der nur r aus.

    Nagut, dann üben wir mal lesen: mach die seite auf und lies, dann komm hierher und lies hier weiter: http://forum.de.selfhtml.org/?m=24670&t=4377

    preg_match("|<!--OK--[^>]*>(.*)<table border=0 cellspacing=0 cellpadding=1|siU" ,fread($fh, 30000) , $title);

    //-Wenn das weggelassen wird geht es

    Ist dir aufgefallen, dass ich ungefähr hier angefangen habe in dem anderen Beitrag lustig die beiden Wörter Array und String zu unterstreichen? Gut, dann weisst du ja jetzt, dass $title[1] dass enthält was du haben willst...

    $title = ereg_replace("<td class=a bgcolor=#FFEDAB valign=middle align=right>(.*) </td>","",$title);

    ^^^^^^
    ...du aber hier auf $title zugreifst, welches gar nicht existiert. Weil PHP sich nicht so sicher ist, was das eigentlich werden soll, belegt es $title kurzerhand mit Array. Dein ereg_replace läuft also auf dem String "Array", matcht dort nichts und $title wird jetzt neu mit "Array" belegt.

    $title = $title[1];

    Diese Zeile kommt zu spät, $title ist längst kein Array mehr, sondern nur noch ein String, der den Wert "Array" enthält. Weil PHP aber so nett ist, und dir glaubt dass du ein Array haben willst, wandelt es den String "Array" in ein Array mit den Werten "A", "r", "r", "a" und "y" um. Davon nimmst du dir jetzt das Element 1 (ein "r") und speicherst es in $title.

    --
    Henryk Plötz
    Grüße aus Berlin

  3. die zeit der suche ist jetzt vorbei.

    ich kann euch soviele fehler anbiten wie ihr nur möchtet.

    ich weiss aber nicht was ihr damit wollt :)

    *SCNR*

    (oder bin ich der einzige der meint der titel ist "leicht" zweideutig ?)