gpt4 book ai didi

php - 将 HTML 表格解析为多维数组

转载 作者:行者123 更新时间:2023-12-04 06:28:54 26 4
gpt4 key购买 nike

我想将图像(在表格中)存储在一个多维数组中,分组 根据他们的表以及它们的描述,以便稍后我调用图像时,我可以相应地显示它们。例如,假设我有两张 table ,一张有三张图片,另一张有一张。

我希望结果数组看起来像:

Array
(
[0] => Array
(
[0] => image1.jpg
[1] => 1st Variation Description
)

[1] => Array
(
[0] => image2.jpg
[1] => image3.jpg
[2] => image4.jpg
[3] => 2nd Variation Description
)

)

编辑 感谢您对 Simple HTML Dom Parser 的建议。这是我到目前为止所做的工作,关于如何以我需要的确切结构存储数据,我已经达到了一点水平。
$html = str_get_html($vartables);   
$varinfo = array();
foreach($html->find('table') as $table){
$varinfo[] = $table->innertext;
}
print_r($varinfo);

这给了我一些效果:
Array
(
[0] =>
<tr>
<td width=150>
Description1
</td>

<td><a href="image1.jpg">
<img src="image1" height=100 border=1></a>
</td>
</tr>

[1] =>
<tr>
<td width=150>
Description2
</td>

<td><a href="image2.jpg">
<img src="image2.jpg" height=200 border=1></a>
</td>
<td><a href="image3.jpg">
<img src="image3.jpg" height=200 border=1></a>

</td>
<td><a href="image4.jpg">
<img src="image4.jpg" height=200 border=1></a>
</td>
</tr>

)

我想去掉 html 并将 .jpg 和描述放在一个多维数组中......不幸的是,我的新手在那里变得越来越好,我正在研究但遇到了障碍。

最佳答案

在这里发现了类似的问题并能够调整答案:how to print cells of a table with simple html dom

与我的原始结构的唯一区别是描述是数组中的第一个值而不是最后一个值,我认为这更好。

$html = str_get_html($vartables);

$html = str_get_html($vartables);
$theData = array();

foreach($html->find('table') as $onetable){
foreach($onetable->find('tr') as $row) {

$rowData = array();
foreach($row->find('td') as $cell) {
if(substr_count($cell->innertext,"src")>0){
foreach($cell->find('img') as $element) {
$rowData[] = $element->src;
}
}else{
$rowData[] = $cell->innertext;
}
}

$theData[] = $rowData;
}
}

print_r($theData);

输出:
Array
(
[0] => Array
(
[0] => Description1
[1] => image1.jpg
)

[1] => Array
(
[0] => Description2
[1] => image2.jpg
[2] => image3.jpg
[3] => image4.jpg
)

)

关于php - 将 HTML 表格解析为多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5685327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com