【发布时间】:2018-12-12 12:50:35
【问题描述】:
我有以下 HTML 源代码:
$content = "<table>
<tr>
<td>AAA</td>
<td>30,40 €</td>
<td>41,10 €</td>
</tr>
<tr>
<td>BBB</td>
<td>30,40 €</td>
<td>41,10 €</td>
</tr>
<tr>
<td>CCC</td>
<td>30,40 €</td>
<td>41,10 €</td>
</tr>
</table>";
我想更新<tr> 中的所有第一个<td>,以在<td> 上添加一个类:
<table>
<tr>
<td class='first'>AAA</td>
<td>30,40 €</td>
<td>41,10 €</td>
</tr>
<tr>
<td class='first'>BBB</td>
<td>30,40 €</td>
<td>41,10 €</td>
</tr>
<tr>
<td class='first'>CCC</td>
<td>30,40 €</td>
<td>41,10 €</td>
</tr>
</table>
我可以用这个得到我想要的元素:
$dom = new DOMDocument();
@$dom->loadHTML($table);
$xpath = new DOMXPath($content);
foreach($xpath->query('//td[1]') as $td){
echo $td->nodeValue."\n\n";
}
但是,我不知道如何更改内容以添加我的课程。
你有想法吗?
【问题讨论】:
-
你试过
foreach($xpath->query('//td[1]') as $td){$td->setAttribute('class','first');}; echo $dom->saveHTML();吗? -
它有效!多谢!
标签: php html xpath domdocument