簡體   English   中英

HTML 表到數組在 PHP 中的轉換

[英]HTML table to array convert in PHP

<table>
    <tr>
        <th>Alert ID</th>
        <td>1002522</td>
    </tr>
    <tr>
        <th>Client</th>
        <th>Tri-County Eye</th>
    </tr>
</table>

如何將 HTML 表格轉換為 PHP 數組?

你必須在 php 中使用DOMElement

DOMElement::getElementsByTagName :-此函數返回具有給定標記名稱的所有后代元素的類 DOMNodeList 的新實例,按照它們在此元素樹的先序遍歷中遇到的順序。

<?php
$html = "<table><tr><td>Name</td><td>Aman</td></tr></table>";
$DOM = new DOMDocument;
$DOM->loadHTML($html);
$items = $DOM->getElementsByTagName('tr')->item(0);
echo "<pre>";
print_r($items);
?>

像這樣排列你的表格數據

HTML

        <table>
            <tr>
                <th>Alert ID</th> <!-- for array key -->
                <td>1002522</td> <!-- for array value -->
            </tr>
            <tr>
                <th>Client</th>
                <td>Tri-County Eye</td>
            </tr>
        </table>

PHP

$html = "<table><tr><th>Alert ID</th><td>1002522</td></tr><tr><th>Client</th><td>Tri-County Eye</td></tr></table>";
        $DOM = new DOMDocument;
        $DOM->loadHTML($html);
        $items = $DOM->getElementsByTagName('tr');
        $array = [];
        foreach ($items as $key => $item) {
            foreach ($item->childNodes as $child) {
                if ($child->tagName === 'th') {
                    $array[$key][$child->nodeValue] = $child->nextSibling->nodeValue;
                }
            }
        }
        echo "<pre>";
        print_r($array);

輸出

Array
(
    [0] => Array
        (
            [Alert ID] => 1002522
        )

    [1] => Array
        (
            [Client] => Tri-County Eye
        )

)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM