使用simple_html_dom.php
,我正试图从朋友的网站上搜索可用的尺寸。不幸的是,我没有成功提取单个大小,因为我不明白正确的选择标准是什么。
在下面的示例中,我想提取“110”,因为它是唯一可用的大小。我尝试提取标签,但后来我想我必须包括下一个标准,它应该是element_id的值:“for” - 以“属性6”开头。任何帮助都将非常感激。
<div id="sizeSelector" class="cf">
<div class="titleHeader cf">
<p class="text">
<h2>Choose a Size</h2>
<h2 id="print-size" style="display:none;">Sizes available</h2>
<label for="attribute76">
<input id="attribute76" class="jshide" type="radio" value="76" name="super_attribute[144]">
110
</label>
</div>
</div>
答案 0 :(得分:0)
您可以遍历标签并检查输入是否已禁用:
foreach ($html->find('#sizeSelector label') as $e)
{ if ( $e->find('input[disabled]') )
{ // $e is the <label> element, $e->plaintext gets the text content
echo "Input " . $e->plaintext . " is disabled.\n";
}
else
{ echo "Input " . $e->plaintext . " is enabled.\n";
}
}
不幸的是,尝试选择没有禁用该类的标签时,使用find('label[class!=disabled]')
似乎会在没有类的情况下自动关闭所有标签。您可以查询没有类find('label[!class]')
的标签,但是您可能会排除包含其他类的标签。