PHP simplehtmldom 在空白 table 结构中查找文本
PHP simplehtmldom find text in blank table structure
我很难在 HTML table 的海洋中找到 DYNAMIC-TEXT 值。
我已经尝试 $html->find("th[plaintext*=Type")
并且从这里开始,我想访问同级,但是 return 没有。这是 table 结构
<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")
中,您想使用 attribute selector *=
但没有属性 plaintext
.
但是有一个属性 width 的值为 30%。您可以使用模式 ^[0-9]+%$
来检查后跟百分号的 1+ 位数字。
如果找到结果,您可以从中得到 next_sibling and get the plaintext。
例如:
$html = str_get_html($str);
foreach ($html->find("th[width*=^[0-9]+%$]") as $value) {
echo $value->next_sibling()->plaintext;
}
结果:
DYNAMIC-TEXT
我很难在 HTML table 的海洋中找到 DYNAMIC-TEXT 值。
我已经尝试 $html->find("th[plaintext*=Type")
并且从这里开始,我想访问同级,但是 return 没有。这是 table 结构
<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")
中,您想使用 attribute selector *=
但没有属性 plaintext
.
但是有一个属性 width 的值为 30%。您可以使用模式 ^[0-9]+%$
来检查后跟百分号的 1+ 位数字。
如果找到结果,您可以从中得到 next_sibling and get the plaintext。
例如:
$html = str_get_html($str);
foreach ($html->find("th[width*=^[0-9]+%$]") as $value) {
echo $value->next_sibling()->plaintext;
}
结果:
DYNAMIC-TEXT