#php #html #load #pull
#php #HTML #загрузить #тянуть
Вопрос:
Я хочу «вытащить» или «загрузить» весь div с отдельной страницы и отобразить его на другой странице внутри div.
Я обновляю div «последние новости» домашней страницы всякий раз, когда обновляется фактическая страница для последних новостей.
Я хотел бы использовать php для этого, и я не хочу, чтобы отображалась вся 2-я страница, только информация в div.
Спасибо за любые советы / предложения,
Джефф
Ответ №1:
Я рекомендую jQuery framework с load()
.
Смотрите документацию: load() — Загрузка фрагментов страницы
Ответ №2:
Вы можете использовать DOM-классы PHP для удаленного извлечения страницы и анализа текста HTML-элемента…
$dom = new DOMDocument();
$dom->loadHTMLFile('http://us3.php.net/manual/en/book.dom.php');
$div = $dom->getElementById('book.dom');
echo $div->nodeValue;
Ответ №3:
Насколько я могу судить, вы пытаетесь воспроизвести загрузку содержимого в стиле AJAX из внешнего источника на свою страницу. Я немного думал об этом, и я думаю, что это можно сделать.
Вам нужно будет выполнить следующее:
1. Загрузите внешнюю страницу, используя curl, url fopen или аналогичный. Я бы рекомендовал curl.
2. Инициализируйте объект DOMDocument, если выборка страницы прошла успешно.
3: Используйте функции обхода DOM, чтобы найти div и получить его содержимое. 4. Вставьте содержимое на свою страницу выбранным вами методом.
Я не пытался реализовать реальную реализацию, поскольку это всего лишь идея о том, как это сделать. Надеюсь, это даст вам достаточно информации для начала.
Ответ №4:
Что-то подобное с jQuery и методом load():
$(document).ready(function(){
var myInterval = setInterval(function(){
$("#news_div").load("/news.php");
}, 10000);
});
Это загрузило бы news.php каждую 10-ю секунду и вводите его в div с идентификатором news_div
.
Тем не менее, вам лучше посмотреть на node.js , сокеты и т.д. если у вас много трафика.
Ответ №5:
развивая комментарий @harakiri, вы также можете заглянуть в функцию live от jQuery, которая выполняет в основном то же самое, но на случай, если вам понадобится автоматическое привязывание в будущем, live сделает это вместо load .