Intereting Posts
Как проверить, является ли строка допустимым PCRE? Ошибки анализа не отображаются Динамический пользовательский ACL в zend framework? facebook graph api не работает с 2.2 до 2.3 Доступ к массиву ключей с использованием uasort в PHP интерактивное управление программой с использованием php создание маршрутизатора PHP PHP / MySQL: объединение трех таблиц и объединение результатов Учитывая местоположение пользователя, выберите строки, которые включают этого пользователя в их радиус php regex для получения строки внутри тега href Как запустить несколько PHP-скриптов из PHP-скрипта (например, пакетного файла)? Неустранимая ошибка: неопределенная функция – почему? PHP TWITTER bot, чтобы следовать / отменить подписку с помощью api версии 1.1 и курсоров Какова наилучшая практика PHP для использования функций, возвращающих true или false? Не удается удалить строку с помощью addcslashes ()

проанализировать данные html для данных массива в php

Я пытаюсь проанализировать данные формата html в массивах с использованием классов тегов, но я не смог получить желаемый формат. Ниже приведены мои данные

$text ='<div class="result results_links results_links_deep web-result "> <div class="links_main links_deep result__body"> <h2 class="result__title"> <a rel="nofollow" class="result__a" href="">Text1</a> </h2> <a class="result__snippet" href="">Text1</a> <a class="result__url" href=""> example.com </a> </div> </div> <div class="result results_links results_links_deep web-result "> <div class="links_main links_deep result__body"> <h2 class="result__title"> <a rel="nofollow" class="result__a" href="">text3</a> </h2> <a class="result__snippet" href="">text23</a> <a class="result__url" href=""> text.com </a> </div> </div>'; 

Я пытаюсь получить результат, используя код ниже

 $lines = explode("\n", $text); $out = array(); foreach ($lines as $line) { $parts = explode(" > ", $line); $ref = &$out; while (count($parts) > 0) { if (isset($ref[$parts[0]]) === false) { $ref[$parts[0]] = array(); } $ref = &$ref[$parts[0]]; array_shift($parts); } } print_r($out); 

Но мне нужен результат точно так же, как ниже

 array:2 [ 0 => array:3 [ 0 => "Text1" 1 => "Text1" 2 => "example.com" ] 1 => array:3 [ 0 => "text3" 1 => "text23" 2 => "text.com" ] ] 

Демо: https://eval.in/746170

Даже я пробовал дом, как внизу, в laravel:

 $dom = new DOMDocument; $dom->loadHTML($text); foreach($dom->getElementsByTagName('a') as $node) { $array[] = $dom->saveHTML($node); } print_r($array); 

Так как я могу использовать классы для разделения данных по мере того как я хотел. Любой предложения please.Thank вы.