gpt4 book ai didi

php - XPath 结果为 PHP 中命名键的数组

转载 作者:行者123 更新时间:2023-12-03 17:07:05 25 4
gpt4 key购买 nike

用 PHP 解析 Dom 很痛苦。当然,如果您看一下使用 JavaScript 是多么容易。

这就是我从每个输入元素获取所有属性的方式:

$dom = new DOMDocument();
$dom->loadHTML('<form><input type="text" required /><input type="password" name="password" required /></form>');
$xpath = new DOMXPath($dom);

$result = $xpath->query('//input/@*');

foreach($result as $key=>$value) {

echo $key . ': ' . $value->nodeValue . '<br />';
}

如何获得命名键而不是编号键?

最佳答案

PHP 中的 Dom 解析与 JS 相同,因为它们使用相同的接口(interface)(标准 Document Object Model )...唯一的区别是在 JS 中很容易内省(introspection)各个元素(而在 PHP 中它被保留在 API 之下,因为它是在 C) 中实现。

现在,对于您的确切问题,$value 的返回类型是 DomAttr .所以这应该为你做:

echo $value->name . ': ' . $value->value . '<br />';

编辑:关于你的评论。这样做:
$result = $xpath->query('//input');

$inputs = array();
foreach($result as $element) {
$current = array();
foreach ($element->attributes as $attribute) {
$current[$attribute->name] = $attribute->value;
}
$inputs[] = $current;
}

关于php - XPath 结果为 PHP 中命名键的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5046299/

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