gpt4 book ai didi

php - 如何从 PHP DOMElement 检索信息?

转载 作者:行者123 更新时间:2023-11-28 17:26:09 24 4
gpt4 key购买 nike

我正在开发一个函数,它获取 style.css 文件的全部内容,并仅返回当前查看页面所需的 CSS 规则(它也会被缓存,因此该函数仅在页面运行时运行已更改)。

我的问题是解析 DOM(我以前从未用 PHP DOM 做过)。我有以下函数,但 $element->tagname 返回 NULL。我还想检查元素的“类”属性,但我被困在这里。

function get_rules($html) {
$arr = array();
$dom = new DOMDocument();
$dom->loadHTML($html);
foreach($dom->getElementsByTagName('*') as $element ){
$arr[sizeof($arr)] = $element->tagname;
}
return array_unique($arr);
}

我能做什么?如何从 HTML 中获取所有 DOM 元素标签名称和类?

最佳答案

因为 tagname 应该是一个 undefined index ,因为它应该是 tagName(驼峰式)。

function get_rules($html) {

$arr = array();
$dom = new DOMDocument();
$dom->loadHTML($html);
foreach($dom->getElementsByTagName('*') as $element ){
$e = array();
$e['tagName'] = $element->tagName; // tagName not tagname
// get all elements attributes
foreach($element->attributes as $attr) {
$attrs = array();
$attrs['name'] = $attr->nodeName;
$attrs['value'] = $attr->nodeValue;
$e['attributes'][] = $attrs;
}
$arr[] = $e;
}
return $arr;
}

Simple Output

关于php - 如何从 PHP DOMElement 检索信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27167299/

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