Vinzenz Mai: get_contents

Beitrag lesen

Hallo,

was ist hier ran falsch ?

wenn ich bei der variable $inhalt einfach 12345 eintrage(statt "get_contens...",zeigt er es mir wunderbar an

Bei der Zeichenkette 12345 gibt es auch nichts, was Du für Javascript maskieren müsstest.

aber so nicht...wenn ich die variable aber mit php "echo" anzeigen lasse dann zeigt er mir contents an...

Selbst wenn das Einlesen erfolgreich ist, rennst Du in Problemebei der Ausgabe des Inhalts einer x-beliebigen Ressource im Internet mit Javascript:

Du musst

<script language="javascript">
function test(){

<?php
    $inhalt = file_get_contents('http://www.google.de');
?>

  

> alert("`<?php echo $inhalt; ?>`{:.language-php}");  
  
a) diesen Inhalt korrekt für den Kontext HTML aufbereiten, aber auch ...  
b) den Inhalt korrekt für den Kontext Javascript in HTML aufbereiten, damit  
  
Dein anschließendes alert("[Inhalt der Ressource]")  erfolgreich sein kann.  
  
Nehmen wir einfach an, das eingelesene Dokument beginnt genauso wie Dein eigenes, nämlich mit:  
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  
dann sieht das, was Dein PHP-Skript an den Browser ausliefert so aus  
  
~~~html
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
<title>Unbenanntes Dokument</title>  
  
<script language="javascript">  
function test(){  
  
alert("<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  
[... noch viel mehr Inhalt aus der eingelesenen Ressource ...]  
  
");  
}  
  
[...]  

Sollte da nicht die Javascript-Konsole schon meckern?

Freundliche Grüße

Vinzenz