提取输入隐藏DOMXpath php的值
Posted
技术标签:
【中文标题】提取输入隐藏DOMXpath php的值【英文标题】:Extract value of a input hidden DOMXpath php 【发布时间】:2015-08-23 14:26:28 【问题描述】:我需要使用 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];
注意事项:
我已经尝试在同一个 url 中使用其他 xpath 并且它可以工作,但不能使用隐藏输入 我尝试过使用$v->item(0);
或item(0)->nodeValue;
,它们总是产生相同的结果
【问题讨论】:
要获取值,请使用evaluate
,参见***.com/a/45010743/287948
【参考方案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);
【讨论】:
【参考方案2】:我使用 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");
【讨论】:
谢谢帮助,问题是str_get_html,不是字符串。是 html 页面中的代码,但我无法将它保存在变量中,如果我可以 100% 保存它的话。并且使用 file_get_html 不起作用:s 无论如何,我会尝试更多次,我感谢您的帮助 :) 在这种情况下,您可以使用 file_get_html($url) 而不是 str_get_html以上是关于提取输入隐藏DOMXpath php的值的主要内容,如果未能解决你的问题,请参考以下文章
使用 autocomplete.js 中的值的 id 填充隐藏的输入