我试图从HTML页面中搜索和存储值,所以我有一个简单的数组数组。它只有2个数组,每个数组有3个项目长。我是这样定义的;这些只是标题:
$fileContents = array(
array('Date', 'Title', 'Link')
);
HTML具有以下结构:
My Title
这个结构重复几次。我只需要上面的第一个(最新的)。我可以看到我需要的所有信息或者我的数组都在那里。
Date
是
06/08/2018
,请
Title
是
My Title
,和
Link
是
www.example.com/
.但我不知道如何访问它们,尤其是标题和链接,因为这些元素上没有类。为了进一步澄清,我希望这是一个最终结果(它是一个csv):
Date, Title, Link
06/08/2018, My Title, https://www.example.com/
目前我正在使用以下方法。我唯一知道的是日期:
$dateClassName="my-date";
$xpath = new DomXpath($doc);
$dateList = $xpath->query("//span[contains(@class, '$dateClassName')]");
$dateNode = $dateList->item(0);
function innerHTML($node) {
return implode(array_map([$node->ownerDocument, "saveHTML"],
iterator_to_array($node->childNodes)));
}
$textArray = array();
array_push($textArray, innerHTML($dateNode));
剩下的项目(链接和标题)我不知道如何存储,因为元素上没有类。
问题:
考虑到我上面现有的方法,如果有问题的元素没有公开的类来搜索,我还能做些什么来存储HTML中需要的值呢?我能凭借他们的兄弟姐妹地位得到他们吗?