我需要使用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];
注意:
$v->item(0);
或item(0)->nodeValue;
并且他们总是会产生相同的结果答案 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");