3

我正在使用 PhP 从 google 获取内容,如何在 $page 中搜索 id 为“#lga”的元素并回显另一个属性?说#lga 是一个图像,我将如何回显它的来源?

不,我不会用 Google 来做这件事,Google 只是一个示例和测试页面。

<body><img id="lga" src="snail.png" /></body>

我想找到名为“lga”的元素并回显它的来源;所以上面的代码我想回显“snail.png”。

这就是我正在使用的以及我如何存储我发现的内容:

<?php
$url = "https://www.google.com/";
$page = file($url);

foreach($page as $part){
}
?>
4

1 回答 1

2

您可以使用内置DOMDocument类来实现这一点。这个类允许您以结构化的方式使用 HTML,而不是自己解析纯文本,而且它非常通用:

$dom = new DOMDocument();
$dom->loadHTML($html);

src使用 id 获取元素的属性lga,您可以简单地使用:

$imageSrc = $dom->getElementById('lga')->getAttribute('src');

请注意,DOMDocument::loadHTML当遇到无效的 HTML 时会生成警告。该方法的文档页面有一些关于如何抑制这些警告的注释。

此外,如果您可以控制要从中解析 HTML 的网站,那么使用专门的脚本来提供您所追求的信息可能更合适。除非您需要准确解析页面上的内容,否则像这样从 HTML 中提取数据可能会非常浪费。

于 2012-11-08T01:34:20.563 回答