Eine Fremde HTML-Seite exploden
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
arbeiten
art
ausgegeben schau
ausprobieren
beispiel
besucher
bevorzugen
buffer
code
datei
egal versuch
fehler
fehlermeldung
forum
funktionieren
http
inhalt
text
url
zeile
-
Ich weiss das es möglich ist, nur nicht wie...
Ich möchte z.B.
aus dieser HP "http://lima-city.de"
die Seite Exploden, ich meine, ich möchte eine bestimmte Zeile in meiner .php Datei wieder ausgeben.
Wie geht es?
Ich weiß wie es bei Variablen geht:
$text = "dieses text besteht, aus blablablas";
$... = explode(",", $text);
Kann man es nun so machen, dass statt ein Text im $text steht einfach das gesammte HTML der gewünschten HP steht oder so? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
file_get_contens bzw. fopen hilft dir weiter!
Dann kannst du per regEx also preg_replace oder so an die Zeile ran!
Beitrag zuletzt geändert: 24.5.2009 19:36:41 von zenks -
zenks schrieb:
kannst du mir vlt ein beispiel geben...
file_get_contens bzw. fopen hilft dir weiter!
Dann kannst du per regEx also preg_replace oder so an die Zeile ran!
und file_get_contents geht irgendwie nicht :S -
ähm wenn file_get_contents nicht funktioniert, würde dir ein Beispiel meiner Seits wohl auch nicht weiterhelfen, da vermutlich url_fopen in der php.ini nicht gestattet ist. Wo hostest du die Seite? Hier bei Lima?
Was kommt für eine Fehlermeldung?
Beitrag zuletzt geändert: 24.5.2009 19:43:19 von zenks -
zenks schrieb:
ähm wenn file_get_contents nicht funktioniert, würde dir ein Beispiel meiner Seits wohl auch nicht weiterhelfen, da vermutlich url_fopen in der php.ini nicht gestattet ist. Wo hostest du die Seite? Hier bei Lima?
Was kommt für eine Fehlermeldung?
ne bei bplaced.net
wo gibt es server die das erlauben?
eventuell sogar kostenlos sind -
Also bplaced gestattet das definitiv nicht:
http://forum.bplaced.net/viewtopic.php?f=7&t=6118
Ich weiß nicht wie's mit Lima steht. Hab mich bis jetzt mehr dem Forum, denn dem Webspace gewidmet. Es gilt also ausprobieren! -
zenks schrieb:
Also bplaced gestattet das definitiv nicht:
http://forum.bplaced.net/viewtopic.php?f=7&t=6118
Ich weiß nicht wie's mit Lima steht. Hab mich bis jetzt mehr dem Forum, denn dem Webspace gewidmet. Es gilt also ausprobieren!
ich habs jetzt mal bei lima-city gehostet,
es scheint zu gehen...
nun die entscheidende frage...
http://macromedia.lima-city.de/testyaw.php
In dieser Datei ist eine Zeile die heißt blablabla "Besucher seit" blablabla
nun möchte ich,
dass nur diese Zeile ausgegeben wird, alles andere nicht. -
probiers mal damit:
echo preg_replace("#(.*)\n([^B]*Besucher seit )(.*)#", '\\2', file_get_contents(müll));
-
zenks schrieb:
probiers mal damit:
echo preg_replace("#(.*)\n([^B]*Besucher seit )(.*)#", '\\2', file_get_contents(müll));
geht nicht :S
geht das nicht irgendwie mit explode() -
Du kannst es mit explode machen, ich würde aber einen regEx bevorzugen, auch wenn ich das gerade iwie nicht hinbekomme :(. Hast du das zufällig auch noch als Version mit HTML-Tags? Dann wäre das erheblich einfacher.
-
zenks schrieb:
Du kannst es mit explode machen, ich würde aber einen regEx bevorzugen, auch wenn ich das gerade iwie nicht hinbekomme :(. Hast du das zufällig auch noch als Version mit HTML-Tags? Dann wäre das erheblich einfacher.
Ya
Hier ist die ganze HTML Version
http://macromedia.lima-city.de/testyaw.php -
Bin ich gerade blind oder so? Ich sehe da keine html-Tags :-/
-
zenks schrieb:
Bin ich gerade blind oder so? Ich sehe da keine html-Tags :-/
Wozu braucht man denn Tags?
Es ist doch nur eine Zeile die gezeigt werden soll...
das muss doch rigendwie so gehen? -
Wenn du es präzise machen willst, ist das per regEx besser als per explode wo du danach mit substr und einer exakten länge an den Wert dran kommst. Deswegen meine Überlegung einfach den Inhalt des Tags auszulesen is ja bestimmt sowas wie: <span>26 542 Besucher seit 18 November 2008 </span> und daran einen regEx anzusetzen ist erheblich leichter, als wenn man nur mit Zeilenumbrüchen arbeiten kann.
-
zenks schrieb:
Wenn du es präzise machen willst, ist das per regEx besser als per explode wo du danach mit substr und einer exakten länge an den Wert dran kommst. Deswegen meine Überlegung einfach den Inhalt des Tags auszulesen is ja bestimmt sowas wie: <span>26 542 Besucher seit 18 November 2008 </span> und daran einen regEx anzusetzen ist erheblich leichter, als wenn man nur mit Zeilenumbrüchen arbeiten kann.
Achso,
aber der inhalt ändert sich ja immer, deswegen wäre explode anstatt subst vlt eher angebracht,
ich weis ja nicht wie du es meinst,
aba hier ist der gsamte HTML
http://macromedia.lima-city.de/gesamthtml.txt -
Ich meinte, dass du substr brauchst, wenn du explode verwendest, aber egal:
Versuch's mal mit dem Code:
echo trim(strip_tags(preg_replace('#(.*)<div id="nicknameStats" class="skinItem">(.*)Besucher seit(.*)#sim', '\\2', file_get_contents('ICH BIN DIE DATEI'))));
P.S lies mal meine PN bitte :) -
zenks schrieb:
Ich meinte, dass du substr brauchst, wenn du explode verwendest, aber egal:
Versuch's mal mit dem Code:
echo trim(strip_tags(preg_replace('#(.*)<div id="nicknameStats" class="skinItem">(.*)Besucher seit(.*)#sim', '\\2', file_get_contents('ICH BIN DIE DATEI'))));
P.S lies mal meine PN bitte :)
Das geht irgendwie immer noch nicht...
Parse error: syntax error, unexpected $end in /home/webpages/lima-city/macromedia/html/netlog_besucher.php on line 8
<?php
$nickname = "__Uniqu3_sTar__";
$fd = fopen ("http://www.netlog.com/$nickname", "r");
while (!feof($fd)) {
$buffer = fgetss($fd, 4096);
echo trim(strip_tags(preg_replace('#(.*)<div id="nicknameStats" class="skinItem">(.*)Besucher seit(.*)#sim', '\\2', file_get_contents('ICH BIN DIE DATEI') )));
?> -
<?php echo trim(strip_tags(preg_replace('#(.*)<div id="nicknameStats" class="skinItem">(.*)Besucher seit(.*)#sim', '\\2', file_get_contents('http://www.netlog.com/__Uniqu3_sTar__') ))); ?>
Das hätte gereicht!
Dein Fehler ist, dass du hinter der $buffer kein } mehr hast.
<?php $nickname = "__Uniqu3_sTar__"; $fd = fopen ("http://www.netlog.com/$nickname", "r"); while (!feof($fd)) { $buffer = fgetss($fd, 4096); } echo trim(strip_tags(preg_replace('#(.*)<div id="nicknameStats" class="skinItem">(.*)Besucher seit(.*)#sim', '\\2', $buffer ))); ?>
So sollte das auch funktionieren.
lg
Beitrag zuletzt geändert: 25.5.2009 22:53:07 von zenks -
zenks schrieb:
<?php echo trim(strip_tags(preg_replace('#(.*)<div id="nicknameStats" class="skinItem">(.*)Besucher seit(.*)#sim', '\\2', file_get_contents('http://www.netlog.com/__Uniqu3_sTar__') ))); ?>
Das hätte gereicht!
Dein Fehler ist, dass du hinter der $buffer kein } mehr hast.
<?php $nickname = "__Uniqu3_sTar__"; $fd = fopen ("http://www.netlog.com/$nickname", "r"); while (!feof($fd)) { $buffer = fgetss($fd, 4096); } echo trim(strip_tags(preg_replace('#(.*)<div id="nicknameStats" class="skinItem">(.*)Besucher seit(.*)#sim', '\\2', $buffer ))); ?>
So sollte das auch funktionieren.
lg
Jetzt gibt er irgendwie garnichts mehr aus...
Alles weiß... :S -
Bei beiden Codes? Bist du sicher? Den ersten hatte ich getestet und der hat dir die momentane Nutzerzahl ausgegeben. Schau dir mal den Quelltext der Seite an. Vlt stehts ja da.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage