Имею некий HTML файл, его структура такова: HTML: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <h2>Категория 1</h2> <p> Какой то-код </p> <hr> <h2>Заголовок 2</h2> <p> Какой-то код </p> <hr> <h2>Заголовок 3</h2> <p> Какой-то код </p> <hr> </body> </html> Нужно выбрать весь HTML код между тегами h2 , в конце тега h2 тоже нет, данные которые идут после последнего h2 тоже нужно выбрать, после выбора должна быть возможность дальше обрабатывать полученные данные с помощью PHPQuery. помогите пожалуйста кто сможет, заранее спасибо. Также нужно выбрать и сам тег h2 к которому относятся данные, ну то есть если код HTML: <h2>Заголовок 1</h2> Какой-то код то выбрать нужно Заголовок 1 и какой-то код до следующего h2.
Вот архив с двумя HTML файлами которые будет парсить будущий скрипт. Вот скрипт который у меня есть: PHP: /* Copyright Blbulyan Software This software is distributed under the GNU GPL v2 This software was developed by one Russian schoolboy. All proposals for its development are accepted, criticism is welcomed. */ require 'config/db.php';// тут хранятся настройки для подключения к СУБД, а именно объект PDO зовётся он $pdo require 'lib/phpQuery-onefile.php';// это сама phpquery её я приложу ниже /*ВНИМАНИЕ ДОБАВИТЬ ПРОВЕРКУ РАСШИРЕНИЙ ФАЙЛА!*/ /*После добавления убрать этот комментарий!*/ if(isset($_POST['submit'])){ $HTMLFileContent = file_get_contents($_FILES['HTMLfile']['tmp_name']); $dom = phpQuery::newDocument($HTMLFileContent); $category_name = $dom->find('h1')->text(); $category_name = str_replace(":", "", $category_name); $PRE_category_id = $pdo->prepare("SELECT `CategoryID` FROM `categories` WHERE `CategoryName` = :category_name"); $PRE_category_id->execute(array('category_name' => $category_name)); $category_id = $PRE_category_id->fetch(); echo $category_id['CategoryID']; /*дальше должен идти код для получения элемента h2, и всего того что под ним, и до следующего h2 но его я написать не смог, именно по этому обратился на форум */ } ?> <!DOCTPE html> <html> <!-- Copyright Blbulyan Software This software is distributed under the GNU GPL v2 This software was developed by one Russian schoolboy. All proposals for its development are accepted, criticism is welcomed.--> <head> <meta charset="UTF-8"> <title>Добавления каналов</title> </head> <body> <h2>Для добавления каналов загрузите HTML файл</h2> <form method="POST" enctype="multipart/form-data"> <input type="file" name="HTMLfile" /> <input type="submit" name="submit" value="Загрузить" /> </form> </body> </html> Вообще зачем всё это нужно? Это нужно для того чтобы автоматически добавить это всё (а именно каналы в соответствующие подкатегории, подподкатегории) в базу данных, с добавлением в бд я справлюсь сам, а вот с выбором тега h2 и всего что до следующего h2, уже не справлюсь.
на стороне донора собираешь все данные в массив $result и делаешь: PHP: echo json_encode($result); запрашиваешь: PHP: $json = file_get_contents($url); //декодируешь $result = json_decode($json, true); и вуаля. У тебя есть массив $result. Это если сайты на разных хостах. А если на одном, то ты можешь просто из БД их запросить, прикинь