gpt4 book ai didi

php - 使用 domDocument 并解析信息,我想获取 'href' 标签的 'a' 内容

转载 作者:行者123 更新时间:2023-12-03 23:05:42 24 4
gpt4 key购买 nike

Possible Duplicate:
Regular expression for grabbing the href attribute of an A element

这显示 a 之间的内容标签,但我想要一种方法来获取 href内容也是如此。

有没有办法使用 domDocument 来做到这一点?

$html = file_get_contents($uri);
$html = utf8_decode($html);

/*** a new dom object ***/
$dom = new domDocument;

/*** load the html into the object ***/
@$dom->loadHTML($html);

/*** discard white space ***/
$dom->preserveWhiteSpace = false;

/*** the table by its tag name ***/
$tables = $dom->getElementsByTagName('table');

/*** get all rows from the table ***/
$rows = $tables->item(0)->getElementsByTagName('tr');

/*** loop over the table rows ***/
foreach ($rows as $row)
{
$a = $row->getElementsByTagName('a');
/*** echo the values ***/
echo $a->item(0)->nodeValue.'<br />';
echo '<hr />';
}

最佳答案

您距离答案仅几英寸——您已经提取了 <a> foreach 循环内的标签。您将在 DOMNodeList 中获取所有这些内容。 ,因此该列表中的每个项目都将是 DOMElement 的实例,它有一个名为 getAttribute 的方法.

$a->item(0)->getAttribute('href')将包含 href 属性的字符串值。多田!


您可能会得到一个空的节点列表。您可以通过检查列表中的第一项是否为元素来解决此问题。

$href = null;
$first_anchor_tag = $a->item(0);
if($first_anchor_tag instanceof DOMElement)
$href = $first_anchor_tag->getAttribute('href');

关于php - 使用 domDocument 并解析信息,我想获取 'href' 标签的 'a' 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5278418/

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