URL: https://www.overclockers.at/coding-stuff/php_html_wie_absolute_links_in_einer_eingebundenen_92898/page_1 - zur Vollversion wechseln!
Sorry für den etwas verwirrenden Threadtitel, anders konnte ich das Problem nicht wirklich umschreiben. 
Folgendes: Auf einer Seite (-> http://www.nitschi.at/postdamenhp/forum.php) habe ich per einfachem include() eine externe Seite (ein Forum) eingebunden.
Anmerkung: Dieses Forum gehört zur Webseite eines Wiener Hockeyvereins. Ich erstelle die Homepage des Damenteams (spart euch Witze
). Allerdings ist diese Seite auf Wunsch des Teams in einem dünkleren, dezenteren Farbton gehalten als die Haupteseite des Vereins (http://www.postsv.com). Deshalb habe ich das Forum per include eingebunden, und im Quelltext per CSS die Farbangaben verändert. Das funktioniert auf der Index-Seite des Forums auch ohne Probleme. Allerdings werden sämtliche Links natürlich ganz normal geöffnet, somit "verfallen" auch meine CSS-Stylesheets.
Besteht jetzt eine Möglichkeit, sämtliche Links (auch auf Folgeseiten) nicht "normal" öffnen zu lassen, sondern ebenfalls in dieser Seite zu includen?
Sprich: alle Links, die auf der eingebundenen Seite geöffnet werden, sollen in folgendem Code-Teil lediglich die angegebene URL ersetzen.
Code: PHP<?PHP include("http://www.siteboard.de/cgi-siteboard/board_index.mpl?fnr=30755");?>

Boah, ich will mir gar nicht so eine Seite ansehen muessen (zweimal HTML ud BODY elemente drin). Argl.
However:
Sieht so aus als wuerde das nicht einfach so funktionieren. Du muesstest zuerst die remote Seite in PHP einlsen und die Links rewriten.
Also z.B. in einen buffer lesen, dann alle vorkommnissen von
suchen und ersetzen von z.b.Code:<a HREF="http://www.siteboard.de/cgi-bin/....
Code:<a href="prepend_damen_css.php?remoteurl=http://www.siteboard.de/cgi-bin/...
Ja, mir tuts auch weh. Aber das kann ich aufgrund der momentan einfachen Lösung mit include() nicht ändern. Die zweiten HTML und BODY-Elemente kommen ja von der externen Seite.Zitat von RektalBoah, ich will mir gar nicht so eine Seite ansehen muessen (zweimal HTML ud BODY elemente drin). Argl.

Ja, sowas hab ich mir fast gedacht. Der Aufwand ist mir aber für diese eine Seite dann doch zu groß. (siehe unten)Zitat
However:
Sieht so aus als wuerde das nicht einfach so funktionieren. Du muesstest zuerst die remote Seite in PHP einlsen und die Links rewriten.
Vollkommen richtig. Dachte, dass es vielleicht eine Funktion bzw. einen Trick in PHP/HTML gibt, mit dem man das bewerkstelligen kann.ZitatObs da nicht einfacher ware bei sideboard.de ein eigenes Forum fuer die Damen anlegen, das dann schon die richtigen Farben hat?
Autsch. Nein, eine so umständliche Lösung kommt gar nicht in Frage. Wie schon gesagt: du hast Recht, ein solcher Aufwand ist dafür unnötig. Danke nochmal.Zitat
Nochmal drueber nachgedacht:
Solange die GET requests hast, ist das kein Problem. Bei POST requests wirds aber problematischer, die muesstest du ja auch an den remoteserver weiterleiten. Ausserdem erfaehrt der remoteserver dann nie von welcher IP der benutzer in das forum schreibt (weil das forum immer nur die IP deines webservers sieht) und das ist fuer Meldug von Abuse ev. noetig.
Und du musst die zu einbindenen urls auch url gerecht escapen ... na ob sich das auszahlt ...
file_get_contents() liest dir die datei in einen string ein, und mit einer handvoll preg_replace() gepaart mit ein bishen regex-magie sollte das gar nicht so schwer erscheinen lassen.
Yeah, aber was ist mit den POST requests? Die kann er nicht als URL mit uebergeben bei dem file_get_contents() aufruf. Und bei einem Forum kommt so ein Request sicher schnell mal zustande.Zitat von atroxfile_get_contents() liest dir die datei in einen string ein, und mit einer handvoll preg_replace() gepaart mit ein bishen regex-magie sollte das gar nicht so schwer erscheinen lassen.
stimmt, an das posten ins forum hab ich noch nicht gedacht - alles ist möglich, eben nur eine frage des aufwandes.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026