Создание абзаца в html содержит текст из файла
У меня есть html-абзац (внутри div), в котором я хочу отобразить простой фиксированный текст. Текст немного длинный, поэтому я предпочел бы, чтобы текст был в отдельном txt файле.
что-то вроде
<div><p txt=file.txt></p></div>
Могу ли я сделать что-то подобное?
Ответы
Ответ 1
Вы захотите использовать JavaScript или серверный язык, такой как PHP, ASP... и т.д.
(предположительно это можно сделать с помощью тега HTML <embed>
, что имеет смысл, но я не использовал, поскольку PHP... и т.д. настолько прост/распространен)
Javascript может работать: Здесь ссылка на кого-то, кто делает что-то подобное через javascript в stackoverflow: Как загрузить содержимое текстового файла в переменную javascript?
PHP (как пример серверного языка) - это самый простой способ:
<div><p><?php include('myFile.txt'); ?></p></div>
Чтобы использовать это (если вы не знакомы с PHP), вы можете:
1) проверьте,есть ли у вас php на вашем сервере
2) измените расширение вашего файла .html на .php
3) вставьте код из моего примера PHP где-нибудь в теле вашего недавно переименованного файла PHP
Ответ 2
Вы можете сделать что-то подобное в чистом HTML, используя тег <object>
tag:
<div><object data="file.txt"></object></div>
Этот метод имеет некоторые ограничения, хотя, например, он не будет соответствовать размеру блока для содержимого - вы должны указать width
и height
вручную. И стили не будут применяться к тексту.
Ответ 3
Я бы использовал javascript для этого.
var txtFile = new XMLHttpRequest();
txtFile.open("GET", "http://my.remote.url/myremotefile.txt", true);
txtFile.onreadystatechange = function() {
if (txtFile.readyState === 4 && txtFile.status == 200) {
allText = txtFile.responseText;
}
document.getElementById('your div id').innerHTML = allText;
Это всего лишь образец кода, потребуется настройка для всех браузеров и т.д.
Ответ 4
Javascript будет делать трюк здесь.
function load() {
var file = new XMLHttpRequest();
file.open("GET", "http://remote.tld/random.txt", true);
file.onreadystatechange = function() {
if (file.readyState === 4) { // Makes sure the document is ready to parse
if (file.status === 200) { // Makes sure it found the file
text = file.responseText;
document.getElementById("div1").innerHTML = text;
}
}
}
}
window.onLoad = load();
Ответ 5
Вот код JavaScript, который я успешно протестировал:
var txtFile = new XMLHttpRequest();
var allText = "file not found";
txtFile.onreadystatechange = function () {
if (txtFile.readyState === XMLHttpRequest.DONE && txtFile.status == 200) {
allText = txtFile.responseText;
allText = allText.split("\n").join("<br>");
}
document.getElementById('txt').innerHTML = allText;
}
txtFile.open("GET", '/result/client.txt', true);
txtFile.send(null);
Ответ 6
Вы можете использовать простой элемент HTML <embed src="file.txt">
, он загружает внешний ресурс и отображает его на экране без необходимости.