gpt4 book ai didi

php - 如何使用 PHP 和简单的 HTML DOM 实现多个数组(+形成)

转载 作者:行者123 更新时间:2023-11-28 01:47:47 27 4
gpt4 key购买 nike

我找到了绕过网络抓取的方法,并且我正在尝试找出从充满页面的缓冲区中获取数据的正确方法。

  • 我正在包含我的变量,它们具有时区和简单的 html dom它

  • 我通过搜索 dom 获得了 img 和标题,但似乎没有找到一种方法对 foreach 进行多个查询,我知道我是这里缺少知识,但我在搜索和阅读。

  • 我使用 get 从以前的表单中获取变量,这就是为什么我有顶部的查询字符串。

我需要的是:

  • 获取数组中的数据

  • 能够在表格等内部使用它们。(图像在左边,文本在右边 和一些其他数据。)

提前致谢,我们将不胜感激。

<?php
// includes and variables
include($_SERVER["DOCUMENT_ROOT"] . "/includes/variables.php"); // all includes
// decleratus
$url = 'http://www.domain.com/file.php?'.$_SERVER['QUERY_STRING']; // url+selected from prev
// shd stuff
$html = new simple_html_dom(); // Load shd
$html->load_file($url); // Load a file
// 1st array
foreach ($html->find("div.row img") as $varImgStr)
{
$varImg = '<p style="margin-left:25px">' . $varImgStr. '</p>';
echo $varImg ;
}
// 2nd array
foreach ($html->find("div.row span strong") as $varTitleStr)
{
$varTitle = '<p style="margin-left:25px">' . $varTitleStr. '</p>';
echo $varTitle ;
}
// does echo full $html output
//echo $html;
// clear mem
$html->clear();
?>

我正在使用 Php Desktop 在我的工作场所部署一个离线(不需要互联网)应用程序。

我在用什么:

最佳答案

尝试多维数组:

foreach ($html->find("div.row img") as $varImgStr) 
{
$mainArray['varImg'][] = '<p style="margin-left:25px">' . $varImgStr. '</p>';
}

foreach ($html->find("div.row span strong") as $varTitleStr)
{
$mainArray['varTitleStr'][] = '<p style="margin-left:25px">' . $varTitleStr. '</p>';
}

这将创建一个包含两个元素的数组 - ['varImg'] 和 ['varTitleStr']。这些元素中的每一个都是一个数组,其中包含找到的所有图像或标题。你可以 print_r($mainArray);看结构。请注意,此方法取决于以相同顺序找到相同数量的图像和标题。

//To print the array in a simple table

echo '<table><thead>
<th>Image</th><th>Title</th>
</thead><tbody>';

for ($i=0; $i<count($mainArray['varImg']); $i++) {
echo '<tr> <td>' . $mainArray['varImg'][$i] . '</td>
<td>' . $mainArray['varTitleStr'][$i] . '</tr>';
}

echo '</tbody></table>';

请注意,在 for 循环中,计数取自 $mainArray['varImg'],而不是 $mainArray。您可以阅读有关多维数组的更多信息 here .

关于php - 如何使用 PHP 和简单的 HTML DOM 实现多个数组(+形成),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21603125/

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