如何按类选择特定元素标签内的任何元素。我需要从元素“form”内部的“input”元素中检索属性“name”值。例如。有 2 个表单元素,名为 _arrived 和 _class。我需要从表单中检索所有属性名称值_class $source = ' <form method="post" action"arrived.php" class="_arrived"> <input type="hidden" name="type1" value="value1" autocomplete="off"> <input type="hidden" name="type2" value="value2" autocomplete="off"> <input type="hidden" name="type3" value="value3"> <input type="hidden" name="type4" value="value4"> </form> <form method="post" action="destiny.php" class="_class"> <input type="hidden" name="type1" value="value1" autocomplete="off"> <input type="hidden" name="type2" value="value2" autocomplete="off"> <input type="hidden" name="type3" value="value3"> <input type="hidden" name="type4" value="value4"> <input type="hidden" name="type5" value="value5"> <input type="hidden" name="type6" value="value6"> <input type="hidden" name="type7" value="value8"> <input type="hidden" name="type8" value="value9"> </form>';$dom = new DOMDocument();$dom->loadHTML($source);$xpath = new DOMXpath($dom);$items = $xpath->query('//form[@class="_class"]'); $form = $items->item(0); $element = $form->getElementsByTagName("input"); foreach($element as $elemen){ foreach($elemen as $value){ echo $value->getAttribute('name').'<br>'; } }
3 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
您可以直接从 input 元素中选择实际的 name 属性,而不必经过多次调用不同的方法,然后循环遍历它们并输出文本内容。
这里的 XPath 表达式首先选择您之后的表单,然后将挑选出每个输入元素,最后使用@name将选择名称属性...
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($source);
$xpath = new DOMXpath($dom);
foreach($xpath->query('//form[@class="_class"]//input/@name') as $value){
echo $value->textContent.'<br>';
}
温温酱
TA贡献1752条经验 获得超4个赞
你只需要一个循环
foreach($element as $elemen){
echo $elemen->getAttribute('name').'<br>';
}
您将获得所有名称属性。
倚天杖
TA贡献1828条经验 获得超3个赞
为什么在元素上有循环?这应该有效:
...
$elements = $form->getElementsByTagName("input");
foreach($elements as $e){
echo $e->getAttribute('name').'<br>';
}
- 3 回答
- 0 关注
- 169 浏览
添加回答
举报
0/150
提交
取消