php - PHP simplehtmldom在空白表结构中查找文本
问题描述
我很难在 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的文本,但动作输出什么都不是
谢谢
解决方案
在您的代码$html->find("th[plaintext*=Type")
中,您想使用属性选择器 *=
,但没有属性plaintext
。
但是有一个值为 30% 的属性宽度。您可以使用模式^[0-9]+%$
来检查 1+ 数字后跟百分号。
如果找到结果,您可以获得next_sibling并从中获取明文。
例如:
$html = str_get_html($str);
foreach ($html->find("th[width*=^[0-9]+%$]") as $value) {
echo $value->next_sibling()->plaintext;
}
结果:
DYNAMIC-TEXT
推荐阅读
- jquery - 模态在控制器中获取正确的路径但未显示
- r - 从存储在列表中的数据帧中绘制多个图
- swift - 从 Firebase 数据库 Swift 中检索嵌套数据
- python - 如何编辑嵌入消息 - discord.py
- ios - 长宽比不隐藏的iOS Swift UIImageView
- jsf - 在 iOS 上卸载页面时在 Omnifaces @ViewScoped bean 上调用 @PreDestroy
- node.js - 使用nodejs时elasticsearch中的文本相似性
- spring-boot - Kustomize configMapGenerator
- mongodb - $addFields MongoDb 中的 $match
- yaml - 将数组下标值传递给 Jekyll 包含