亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何按類名解析元素內的元素?

如何按類名解析元素內的元素?

PHP
幕布斯6054654 2021-10-15 10:10:07
如何按類選擇特定元素標簽內的任何元素。我需要從元素“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>';

}


查看完整回答
反對 回復 2021-10-15
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

你只需要一個循環


foreach($element as $elemen){

    echo $elemen->getAttribute('name').'<br>';

 }

您將獲得所有名稱屬性。


查看完整回答
反對 回復 2021-10-15
?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

為什么在元素上有循環?這應該有效:


...


$elements = $form->getElementsByTagName("input");


foreach($elements as $e){

  echo $e->getAttribute('name').'<br>';

}


查看完整回答
反對 回復 2021-10-15
  • 3 回答
  • 0 關注
  • 197 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號