falscher output
Big bob
- php
0 Sönke Tesch0 Big Bob
Also das ist mein kleines PHPscript.
Ich glaub der spinnt weil der gibt immer r aus .
schaut es euch mal unter http://www.alki-clan.de/meta_spider.php an.
Der sollte normalerweise etwas aus dem Quelltext nehmen und durch nix ersetzen aber daneben. Wenn mir einer helfen könnte wäre ich ihm sehr dankbar.
<?php
$fh = fopen('http://web.de/?id=V00-020208--LGeh-00', 'r');
$var = preg_match('|<!--OK--[^>]*>(.*)<table border=0 cellspacing=0 cellpadding=1|siU' ,fread($fh, 30000) , $title);
$title = ereg_replace("(<td class=a bgcolor=#FFEDAB valign=middle align=right>)(.*)( </td>)","0", $title);
@fclose($fh);
$title=$title[1];
array($title);
echo $title;
?>
Danke !!
Der sollte normalerweise etwas aus dem Quelltext nehmen und durch nix ersetzen aber daneben. Wenn mir einer helfen könnte wäre ich ihm sehr dankbar.
<?php
$fh = fopen('http://web.de/?id=V00-020208--LGeh-00', 'r');
$var = preg_match('|<!--OK--[^>]*>(.*)<table border=0 cellspacing=0 cellpadding=1|siU' ,fread($fh, 30000) , $title);
var_dump($title);
$title = ereg_replace("(<td class=a bgcolor=#FFEDAB valign=middle align=right>)(.*)( </td>)","0", $title);
var_dump($title);
@fclose($fh);
$title=$title[1];
var_dump($title);
array($title);
var_dump($title);
echo $title;
?>
Viel Spaß beim Licht-aufgehen, so ungefähr nach dem erstem var_dump, spätestens beim zweiten :)
Gruß,
soenk.e
Leider nicht so .
Dann zeigt der immer einen Parse error an .
Weiss jemand noch einen anderen weg der geht ??
Danke
Moin
Dann zeigt der immer einen Parse error an .
Und was hast du aus dem letzten Thread bezüglich der Parse errors gelernt? Richtig, der Gärtner..äh..das Semikolon wars. Alternativ hast du auch eine Klammer (rund, eckig oder geschweift) oder ein Anführungszeichen vergessen. Schau dir also Zeile 12 und alle Zeilen davor noch mal genau an.
Weiss jemand noch einen anderen weg der geht ??
Lies dein Skript durch und versuche zu verstehen was es tut:
<?php
$fh = fopen('http://web.de/?id=V00-020208--LGeh-00', 'r');
// In FH liegt jetzt ein Filehandle der auf eine HTTP-Verbindung zu web.de zeigt, falls nichts schiefgegangen ist
$var = preg_match('|<!--OK--[^>]*>(.*)<table border=0 cellspacing=0 cellpadding=1|siU' ,fread($fh, 30000) , $title);
// Liest die ersten 30000 Byte aus $fh und schmeisst deinen Regulären Ausdruck drauf
// in $var steht jetzt TRUE falls das matchen erfolgreich wahr und FALSE andernfalls
// Wichtig: in $title ist ein _Array_ das im Index 0 den gesamten gematchten String und im Index 1 den Teil in den Klammern enthält
$title = ereg_replace("(<td class=a bgcolor=#FFEDAB valign=middle align=right>)(.*)( </td>)","0", $title);
// $title wird hier als _String_ angesprochen und von PHP automagisch in einen solchen umgewandelt, ich glaub es kommt dabei "Array" raus
// Dann wird der zweite regexp auf $title geschmissen und das Ergebnis im _String_ $title gespeichert (da der regexp nicht matcht enthält $title weiterhin "Array")
@fclose($fh);
// Die HTTP-Verbindung wird zugemacht
$title=$title[1];
// $title wird als _Array_ angesprochen, das an der Position 0 den String A, an Position 1 den String r, an Position 2 den String r usw. enthält
// Dabei wird die Position 1 dieses Arrays im String $title gespeichert
array($title);
// Das erstellt ein neues Array welches als einziges Element den Inhalt von $title enthält (ein "r") und schmeisst das Array anschließend weg
echo $title;
// Das gibt den Inhalt von $title aus, was wie du oben gesehen hast ein "r" sein muss
?>
Du siehst: Dein Skript tut genau das, was du ihm gesagt hast.
Fortune sagt dazu:
I really hate this damned machine
I wish that they would sell it.
It never does quite what I want
But only what I tell it.
In diesem Sinne...
--
Henryk Plötz
Grüße aus Berlin