Преобразование содержимого HTML-таблицы из двух столбцов в двухмерный массив ⇐ Php
Преобразование содержимого HTML-таблицы из двух столбцов в двухмерный массив
Я пытаюсь преобразовать значения ячеек таблицы HTML в индексированный массив ассоциативных массивов с заранее определенными ключами, используя PHP.
$htmlContent = ' тест1 test1-1 test2 test2-2 '; Мне нужен такой результат:
[ ['name' => "test1", 'value' => "test1-1"], ['name' => "test2", 'value' => "test2-2"], ] Мой текущий результат:
[ ['test1' => 'test1-1', 'test2' => 'test2-2'] ]; Вот моя попытка кодирования:
$DOM = новый DOMDocument(); $DOM->loadHTML($htmlContent); $Header = $DOM->getElementsByTagName('th'); $Detail = $DOM->getElementsByTagName('td'); //#Получить имя заголовка таблицы foreach($Header как $NodeHeader) { $aDataTableHeaderHTML[] = обрезка($NodeHeader->textContent); } //print_r($aDataTableHeaderHTML); умереть(); //#Получаем таблицу данных/подробностей строки без имени заголовка в качестве ключа $я = 0; $j = 0; foreach($Detail как $sNodeDetail) { $aDataTableDetailHTML[$j][] = Trim($sNodeDetail->textContent); $я = $я + 1; $j = $i % count($aDataTableHeaderHTML) == 0 ? $j + 1: $j; } //print_r($aDataTableDetailHTML); умереть(); //#Получить таблицу данных/подробностей строки с именем заголовка в качестве ключа и индексом внешнего массива в качестве номера строки for($i = 0; $i < count($aDataTableDetailHTML); $i++) { for($j = 0; $j < count($aDataTableHeaderHTML); $j++) { $aTempData[$i][$aDataTableHeaderHTML[$j]] = $aDataTableDetailHTML[$i][$j]; } } $aDataTableDetailHTML = $aTempData; не установлено ($aTempData); print_r($aDataTableDetailHTML); умереть();
Я пытаюсь преобразовать значения ячеек таблицы HTML в индексированный массив ассоциативных массивов с заранее определенными ключами, используя PHP.
$htmlContent = ' тест1 test1-1 test2 test2-2 '; Мне нужен такой результат:
[ ['name' => "test1", 'value' => "test1-1"], ['name' => "test2", 'value' => "test2-2"], ] Мой текущий результат:
[ ['test1' => 'test1-1', 'test2' => 'test2-2'] ]; Вот моя попытка кодирования:
$DOM = новый DOMDocument(); $DOM->loadHTML($htmlContent); $Header = $DOM->getElementsByTagName('th'); $Detail = $DOM->getElementsByTagName('td'); //#Получить имя заголовка таблицы foreach($Header как $NodeHeader) { $aDataTableHeaderHTML[] = обрезка($NodeHeader->textContent); } //print_r($aDataTableHeaderHTML); умереть(); //#Получаем таблицу данных/подробностей строки без имени заголовка в качестве ключа $я = 0; $j = 0; foreach($Detail как $sNodeDetail) { $aDataTableDetailHTML[$j][] = Trim($sNodeDetail->textContent); $я = $я + 1; $j = $i % count($aDataTableHeaderHTML) == 0 ? $j + 1: $j; } //print_r($aDataTableDetailHTML); умереть(); //#Получить таблицу данных/подробностей строки с именем заголовка в качестве ключа и индексом внешнего массива в качестве номера строки for($i = 0; $i < count($aDataTableDetailHTML); $i++) { for($j = 0; $j < count($aDataTableHeaderHTML); $j++) { $aTempData[$i][$aDataTableHeaderHTML[$j]] = $aDataTableDetailHTML[$i][$j]; } } $aDataTableDetailHTML = $aTempData; не установлено ($aTempData); print_r($aDataTableDetailHTML); умереть();
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение