Inhalt einer Seite via PHP auslesen und mit Javascript auswerten ?

ibanez

Mitglied
Hallo zusammen,

ich hab ein kleines problem und zwar würde ich gerne mit folgendem code den inhalt einer externen Seite abfragen (die Seite ist in meinem besitz) :
PHP:
$ch = curl_init("http://www.meineseite.de");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$content = curl_exec($ch);
curl_close($ch);

echo $content;

Das funktioniert schonmal einwandfrei die Seite bzw. der Inhalt wird übergeben und angezeigt.

Jetzt würde ich gerne aus diesem Importieren Inhalt eine Div mit Java auslesen und wollte dafür folgenden Code benutzen:
Code:
<script language="javascript">function einsetzen(){
        var inhalt=document.getElementById('content-row2').innerHTML();
        alert(inhalt);
    }
	</script>

Und da bleibe ich hängen denn es kommt leider kein Alert :(

was mache ich falsch ? PS: Bitte köpft mich nicht bin noch anfänger ^^
 
Ich packe Dir erst einmal die Version so hin, wie ich sie schreiben würde:
HTML:
<script type="application/javascript">
  function einsetzen() {
    var content = document.getElementById( 'content-row2' ).innerHTML;
    alert( content );
  }
</script>
Zum Verständnis: "innerHTML" ist keine Methode, sondern eine Eigenschaft von DOM-Elementen. Insofern gehören dahinter keine Klammern, wie bei einem Funktionsaufruf. Außerdem kannst du so etwas in Deinem Browser ausprobieren, in dem Du die Webkonsole öffnest (eigentlich jeder moderne Browser hat eine implementiert). Somit hättest Du den Fehler auch gesehen. Ansonsten sehe ich den Zusammenhang zwischen dem PHP-Skript und dem JavaScript-Schnipsel nicht.

PS: Java != JavaScript
 
Hi, Danke erstmal für die lernstunden und die korrektur.

Der zusammenhang mit dem PHP und dem Javascript besteht darin das ich am Ende des PHP scripts mit
PHP:
echo $content;

ja den Inhalt der abgefragten Seite angezeigt bekomme. Im Quellcode der abgerufenen Seite existiert eine Div mit der ID "content-row2" und den Inhalt dieser Div würde ich gerne mit dem Javascript auswerten-/lesen um ihn danach weiter zu verarbeiten.
 
Dann solltest du diese Verarbeitung aber auch mit PHP und dem DOM-Parser vornehmen.
PHP:
$ch = curl_init( 'http://www.meineseite.de' ); 
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); 
curl_setopt( $ch, CURLOPT_BINARYTRANSFER, true ); 
$content = curl_exec( $ch ); 
curl_close( $ch );

$doc = new DOMDocument();
$doc->loadHTML( $content );
$element = $doc->getElementById( 'content-row2' );
$element = ( $element === null ) ? '' : $element->nodeValue;

echo $element;
 
Den Inhalt den ich auslesen lassen wollte habe ich jetzt danke dafür. Wenn du mir jetzt noch vielleicht erklären kannst wie ich es in die ursprüngliche formatierung bekomme bzw. wie ich die formatierung übernehmen kann wäre ich dir sehr verbunden den teil aktuell bis hier hin habe ich verstanden wusste garnicht das man mit dem DOM-Paser soviel machen kann sollte ich mich vllt. nochmal genauer einlesen !
 
Wenn Du mir jetzt noch sagst, was Du haben möchtest, dann kann ich Dir bestimmt auch noch weiterhelfen. Willst Du das ausgelesene Element auf einer eigenen Webseite direkt ausgeben? Oder willst Du es mit AJAX nachladen? Willst Du die Daten weiter analysieren und dann nur bestimmte Werte daraus nutzen? Oder willst Du etwas ganz anderes?
 
Also die werte die das Script ausliest ist eine Tabelle mit mehreren Zeilen und Spalten und ich würde einfach nur gerne die werte auslesen und auch so in der Tabellen form wieder geben. Für die weiteren auswertungen werde ich dann erstmal wieder selber lesen und forschen mir geht es ja nicht darum den ganzen weg geschenkt zu bekommen sondern ich will den ganzen kram lernen dadurch das du mir hilfst wofür ich dir sehr dankbar bin komme ich dem "Standartaufbau" immer näher und kann dann weiter lernen. Allerdings wäre für mich primär das Ziel erstmal die daten auszulesen und genauso wieder zu geben wie Sie ursprünglich dargestellt sind. PS: ich würde die Daten direkt auf einer anderen Seite die als Statistik dient wiedergeben.
 
Wenn du nur das haben willst, musst du eben folgendes an der richtigen Stelle ausführen:
PHP:
<!DOCTYPE html>
<html>
<head>
  <title>Meine Webseite</title>
  <meta charset="utf-8" />
</head>
<body>
  <div><?php echo $element ?></div>
</body>
</html>
Hierbei ist das nur ein Beispiel, wie das Ganze aussehen könnte.
 
Zurück