提取输入隐藏DOMXpath php的值

时间:2015-06-08 23:29:53

标签: php xpath input hidden nodevalue

我需要使用xpath获取属性value,我尝试了几次但始终获得null

这是我的HTML代码:

<input type="hidden" id="Lat" name="myMap" value="22.445575, -18.722164">

php中的代码:

$val= $xpath->query('//input[@type="hidden" and @name="myMap"]/@value' );

$list=array();              

    foreach($val as $v){
       $list[]=$v->nodeValue;
      }

var_dump($list);
$sValue= (string)$val[0];

注意:

  • 我已尝试在同一个网址中使用其他xpath并且它可以正常工作,但不能使用隐藏输入
  • 我已尝试使用$v->item(0);item(0)->nodeValue;并且他们总是会产生相同的结果

2 个答案:

答案 0 :(得分:1)

这是使用DOM xpath的代码:

$html='<input type="hidden" id="Lat" name="myMap" value="22.445575, -18.722164">';
$doc = new DOMDocument;
$doc->loadHTML($html);
$xpath = new DOMXpath($doc);
$val= $xpath->query('//input[@type="hidden" and @name = "myMap"]/@value' );
$list=array();              
    foreach($val as $v){
       $list[]=$v->nodeValue;
      }
var_dump($list);

答案 1 :(得分:0)

我使用PHP Simple HTML DOM Parser找到了一个解决方案:

不要忘记下载此库: http://simplehtmldom.sourceforge.net/

include("simple_html_dom.php");
$html=str_get_html('<input type="hidden" id="Lat" name="myMap" value="22.445575, -18.722164">');
$input_val=$html->find('input[type=hidden],[name=myMap]',0)->getAttribute("value");
echo $input_val;

如果你想从url获取html,请用file_get_html更改str_get_html:

$html=file_get_html("http://www.example.com/page");