Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 解析id为的HTML跨元素_Php_Html Parsing_Html - Fatal编程技术网

Php 解析id为的HTML跨元素

Php 解析id为的HTML跨元素,php,html-parsing,html,Php,Html Parsing,Html,我正在展示我正在处理的一段HTML代码。我想提取ID为coveredAreaUnit但没有类名的span下元素的值。 我能够通过HTMLDOM解析访问具有类名的跨元素 $html->find('span.classname')。 我尝试将具有一些id的span元素作为 $html->find('span#idname') 但这不起作用 我还尝试了$html->find(#idname),但也没用 我可以用另一种方式(即使用DOM树元素和节点)访问这个span元素,但这太难看了 片段 ..

我正在展示我正在处理的一段HTML代码。我想提取ID为coveredAreaUnit但没有类名的span下元素的值。 我能够通过HTMLDOM解析访问具有类名的跨元素 $html->find('span.classname')。 我尝试将具有一些id的span元素作为 $html->find('span#idname') 但这不起作用

我还尝试了$html->find(#idname),但也没用 我可以用另一种方式(即使用DOM树元素和节点)访问这个span元素,但这太难看了

片段

    ......
<span id="coveredAreaUnit" style="display:none;">Sq-ft</span>
<span id="coveredArea" style="display:none;">1350</span>
    ........
。。。。。。
平方英尺
1350
........
您使用的是什么

如果是,您可以使用:

$html->find('span[id=coveredAreaUnit]'); 
使用


此代码尚未使用span索引使用
id
s进行解析。 可能对您有所帮助:

<?php
include_once('simple_html_dom.php');
$html = str_get_html('<span id="coveredAreaUnit">Sq-ft</span><span id="coveredArea">1350</span>');
$res1 = $html->find('span',0); 
$res2 = $html->find('span',1); 
echo $res1;
echo $res2;

为什么不给他们身份证?然后使用document.getElementById(“”);我正在通过CURL从第三方网站获取PHP数据。我不能操纵他们的数据,不能工作。不知何故,我觉得display:none属性使得这些命令无法工作。您使用的是简单的HTMLDOM吗?我不认为样式会影响解析,除非数据在正常查看时由Javascript操作。命令$html->find('span#id')、('span[id=])和('id')不起作用。我只是觉得显示:没有影响到他们。你说的是Javascript代码。不管怎样,修改成PHP都可以工作。谢谢
document.getElementById("coveredAreaUnit").innerHTML; 
<?php
include_once('simple_html_dom.php');
$html = str_get_html('<span id="coveredAreaUnit">Sq-ft</span><span id="coveredArea">1350</span>');
$res1 = $html->find('span',0); 
$res2 = $html->find('span',1); 
echo $res1;
echo $res2;