Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich weiss zwar, dass hier nicht viele sind, aber nachdem in anderen Foren noch niemand geantwortet hat:
Ich habe in einer externen Seite (http://[...]) einen DIV, den ich mith. von HTML/Javascript einzeln anzeigen möchte, ohne den Rest der Seite, kann mir da jemand weiterhelfen?
Ajax. Ein direktes zugreifen wird u.U. nicht möglich sein. Soetwas wird gerne blockiert, allerdings könntest du ein PHP-Script(wenn möglich) auf deinem Server hinterlegen, welches die Seite einliest (sofern erlaubt). Dieses rufst du mittels Ajax auf und lässt es dir als HTML zurückliefern. Den div könntest du dir dann über JS herauspicken (am einfachsten, wenn er eine ID besitzt). Den Inhalt des divs als HTML zurückliefern lassen und auf deiner Seite anzeigen. Fertig.
Also sollte ich mith. von PHP die Seite auf meinem Server speichern, mith. von js mein Teil rauslesen und das dann mith. von PHP wieder in die Seite einbauen?
du sollst nicht speichern, du sollst auslesen. Das Problem an Ajax ist, dass der Zugriff auf andere Server unterbunden wird. Somit musst du das Dokument auf deinem eigenen Webserver bereitstellen. Deswegen liest du über PHP die andere Seite ein und gibst Sie dann an den AJAX-Request zurück. Gegen cachen ist nichts einzuwenden, aber ein persistentes Speichern der fremden Homepage brauchts dann normal doch nicht.
Im gegensatz zu fopen gibt es bei file_get_contens keinen mode parameter. Sprich das "r" muss weg.
Und man sollte natürlich den Inhalt auch mit echo ausgeben.
Wie ich den Code von PHP in JS kriege, weiss ich (echo('var a = ' . $page); ), daher erstmal danke, ich glaube den Rest kriege ich hin, sobald der Teil fertig ist, stelle ich ihn hier hoch.
Nächste Frage :
Der Output von derm Quellcode, den ich jetzt hab, sieht komisch aus...
Hier der Code (hoffentlich verständlich genug kommentiert):
PHP:
<html>
<head></head>
<body>
<?php
//Nehmen wir mal diese Seite und geben die Beiträge aus:
$temp = 'http://www.java-forum.org/fuer-verirrte-fragen-javascript/115980-javascript-objekt-quellcode-anzeigen.html';
//Wie oben beschrieben String laden...
$page = file_get_contents($temp);
//"post_message_" ist in jeder id von den divs, die die Beiträge enthalten, daher kann man hier trennen:
$array = explode($temp, 'post_message_');
//Teil eins brauchen wir nicht, das ist nur Quellcode, daher wegschneiden:
$array[0] = '';
foreach ($array as $i) {
$beitrag[$i-1] = $array[$i];
}
//Restlichen Quellcode wegschneiden:
foreach ($beitrag as $i) {
//Absätze...
str_replace($beitrag[$i], '\n', '');
str_replace($beitrag[$i], '<br />', '\n');
//Kommentare...
$a = true;
while ($a) {
//Wenn Kommentar enthalten
if (strpos($beitrag[$i], '<!--') != -1) {
//Dann Kommentar entfernen:
//String 1: Anfang bis Kommentaranfang
$teil1 = substr($beitrag[$i], 0, strpos($beitrag[$i], '<!--'));
echo('Teil'.$i.'-1: '.$teil1);
//String 2: Kommentarende bis Ende
$teil2 = substr($beitrag[$i], strpos($beitrag[$i], '-->')+2, strlen($beitrag[$i]));
echo('Teil'.$i.'-2: '.$teil2);
//Dann zusammenfügen...
$beitrag[$i] = $teil1 . $teil2;
//...und nächsten Kommentar suchen.
} else {
//Wenn kein Kommentar enthalten, dann nichts wie raus aus der Scheife!
$a = false;
}
}
}
?>
</body>
</html>
Die Echos in denen $teil1 und $teil2 enthalten sind, waren zur Kontrolle gedacht.
Letztendlich kamen scheinbar unendlich viele leere $teil1 und $teil2 raus, ich hab das ganze dann nach 2-3min abgebrochen.
Kann mir hier jemand weiterhelfen?