我很难在大量HTML表格中找到 DYNAMIC-TEXT 值。
我尝试了$html->find("th[plaintext*=Type")
,从这里开始,我想访问同级,但是什么也不返回。这是表格结构
<table>
<tbody>
</tbody>
<colgroup>
<col width="25%">
<col>
</colgroup>
<tbody>
<tr class="odd">
<th colspan="2">Name</th>
</tr>
<tr class="even">
<th width="30%">Type</th>
<td>DYNAMIC-TEXT</td>
</tr>
</tbody>
</table>
我希望输出为 DYNAMIC-TEXT 的文本,但动作输出为空
谢谢
答案 0 :(得分:0)
在您的代码$html->find("th[plaintext*=Type")
中,您想使用attribute selector *=
,但没有属性plaintext
。
但是属性宽度为30%。您可以使用模式^[0-9]+%$
检查1个以上的数字,后跟一个百分号。
如果找到结果,则可以获取next_sibling并从中获取plaintext。
例如:
$html = str_get_html($str);
foreach ($html->find("th[width*=^[0-9]+%$]") as $value) {
echo $value->next_sibling()->plaintext;
}
结果:
DYNAMIC-TEXT