简单的HTML DOM帮助

时间:2009-11-20 16:35:59

标签: php html dom simple-html-dom

如何提取输入标签的value属性?使用 SIMPLE HTML DOM 让我举个例子:

<form action="#" method="post" name="test_form" id="test_form">
Name<input type="text" name="name" value="NaMe"/><br />

Address<input type="text" name="address" value="AdDrEsS"/><br />

<input type="hidden" value="sayantest" />
</form>

我想只提取隐藏类型输入标记的值,而不是其他标记。

4 个答案:

答案 0 :(得分:4)

你想把id(你可以访问javascript中的值),以及你希望从中获取值的标签中的名称(如果你想访问服务器上的值)。

e.g。

<input type="hidden" name="test" id="test" value="sayantest" />

然后你的javascript就像:

<script type="text/javascript">
  var val = document.getElementById('test').value;
  alert(val);
</script>

答案 1 :(得分:3)

  

使用SIMPLE HTML DOM

你的意思是那个名字的PHP库吗?

如果是这样,您必须选择一种识别输入的方法。如果您无法更改标记以在所需的隐藏输入上添加idname,则必须提出类似“在表单中隐藏类型的第一个输入” “:

$html= new simple_html_dom();
$html->load('<html><body<form action="#" method="post" name="test_form" id="test_form">Name<input type="text" name="name" value="NaMe"/><br />Address<input type="text" name="address" value="AdDrEsS"/><br /><input type="hidden" value="sayantest" /></form></body></html>');

$input= $html->find('#test_form input[type=hidden]', 0);
$input->value;

答案 2 :(得分:0)

以下是我提出的内容......完全使用您在初始问题中显示的内容。请注意,我所做的只是echo隐藏了所有输入的值,其中test_form.htm是您原来的:

<?php
function scraping_form()
{
   // create HTML DOM
   $html = file_get_html('test_form.htm');

   // get input hidden value
   $aObj = $html->find('input[type="hidden"]');
   foreach ($aObj as $hKey=>$hidden)
   {
     $valueAttribute = $hidden->value;
     echo "*TEST* ".$hKey.": ".$valueAttribute."<br />";
   }

   // clean up memory
   $html->clear();
   unset($html);

   return;
}
// -----------------------------------------------------------------------------
// test it!
// user_agent header...
ini_set('user_agent', 'My-Application/2.5');
scraping_form();
?>

答案 3 :(得分:0)

如上所述,最简单的方法是为隐藏的输入提供id属性,然后使用getElementById,然后使用.value.getAttribute('value')来选择它。 / p>

或者,如果您想获取页面上所有隐藏输入的值,或者无法注入您的ID,您可以使用以下内容:

var inputs = document.getElementsByTagName('input');
for(var i = 0; i < inputs.length; i++){
    if(inputs[i].getAttribute('type') == 'hidden'){
        alert(inputs[i].getAttribute('value'));
    }
}