【发布时间】:2016-12-09 19:12:47
【问题描述】:
我试图从<div> 元素内的子<a> 标记中提取链接。我已经使用 PHP 的 DOM 来解析 HTML 在此站点上的解释:[http://htmlparsing.com/php.html] [1]。我还使用 [Using PHP DOM document, to select HTML element by its class and get its text [2] 中的相关答案修改了代码,以使用类名选择元素。以下是 HTML 结构和 PHP 代码。但是,PHP 代码似乎不能正常工作,因为一旦到达第 11 个元素,它就会停止打印链接。
HTML 结构:
<div class="avtar-abt">
<h3 class="mb6"><a href="testingwebsite.com1"></i></a></h3>
</div>
<div class="avtar-abt">
<h3 class="mb6"><a href="testingwebsite.com2"></i></a></h3>
</div>
<div class="avtar-abt">
<h3 class="mb6"><a href="testingwebsite.com3"></i></a></h3>
</div>
PHP 代码:
# Create a DOM parser object
$dom = new DOMDocument();
# Parse the HTML from Google.
# The @ before the method call suppresses any warnings that
# loadHTML might throw because of invalid HTML in the page.
@$dom->loadHTML($html);
$xpath = new DOMXPath ($dom);
$classname = 'mb6';
foreach ($xpath->query("//*[@class='$classname']/a") as $link) {
echo $link->getAttribute('href');
echo "<br />";
}
【问题讨论】:
-
我知道有相似之处。然而,我的问题是关于``标签作为根
<div>的子元素。