Frage von FaTech, 33

Kann man einen Text aus einer .txt datei in HTML ziehen?

Hallo, ich möchte es so machen, das man nur den Text in der .txt Datei ändert und das dann in HTML übernommen wird. Geht das? Oder wie verlinkt man das?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Johannes3112, 15

Es gibt mehrere Möglichkeiten, das zu realisieren:

1) iFrame:

<iframe src="Pfad/zur/Textdatei.txt"></iframe>

Dies ist aber die uneleganteste Methode. Du solltest besser eine der nachfolgenden nehmen.

2) AJAX:

document.body.onload=function() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState==4 && this.status==200) {
document.getElementById("ID des HTML-Elements, wo der Text rein soll").innerHTML = this.responseText;
}
};
xhttp.open("GET","Pfad/zur/Textdatei.txt",true);
xhttp.send();
}

Diese Methode hat den Nachteil, dass ältere Browser da unkompatibel sein können. Außerdem wird der Text erst angezeigt, nachdem die Seite geladen wurde, und meistens mit Verzögerung.

3) PHP:

Dafür muss die Datei auf .php enden (zumindest in den allermeisten Fällen). Außerdem muss der Server PHP unterstützen, das ist aber meistens so.

<p>
<?php include('Pfad/zur/Textdatei/aber/bloss/keine/URL.txt'); ?>
</p>

Du kannst auch statt dem <p>-Tag irgendwas anderes nehmen.

Der Unterschied zu den anderen beiden Methoden ist hier, dass der Code auf dem Server läuft. Daher darfst du auch keine URL angeben, sondern musst den serverinternen Pfad für die Datei nehmen. Daher kannst (oder solltest) du auch eine Datei nehmen, die durch .htaccess blockiert ist (das ist jetzt aber eine andere Geschichte.

Ich würde dir auf jeden Fall die dritte Methode empfehlen.

Ich habe jetzt keines der Beispiele ausprobiert. Ich hoffe, dass sich da nirgendwo Fehler reingeschlichen haben. Wenn doch, und du nicht alleine fixen kannst, kannst du ja auch nochmal nachfragen.

Kommentar von exoarx ,

Anstatt include sollte man in so einem Fall eher  file_get_contents benutzen.

Kommentar von Johannes3112 ,

Ja, stimmt eigentlich. Nur muss man davor dann noch ein echo schreiben, also:

echo file_get_contents('...');
Antwort
von LeonardM, 18

Clientseitig und Serverseitig möglich. Clientseitig mit js (ajax) oder Serverseitig zb mit php

Antwort
von RakonDark, 28

du könntest

http://www.online-lotse.de/html/strukturelemente/30/102.php

oder ein iframe nutzen

oder das ganze via PHP serverseitig erledigen .


Kommentar von eddiepoole ,

mit object, das war mir neu. ich habs gleich ausprobiert. muss aber sagen, dass es an ein textfeld erinnert - nur dass tags ignoriert werden, was noch mal interessant werden könnte. könnte man den inhalt auch an ein formular übergeben, so wie bei textarea?

Kommentar von eddiepoole ,

ach ich schussel. die werden bei textarea auch ignoriert.

Kommentar von RakonDark ,

Du kannst es als plain/html einbinden dann sollte html interpretiert werden. Aber z.b. bei Navigation etc nutzt man lieber PHP.

Keine passende Antwort gefunden?

Fragen Sie die Community