大佬教程收集整理的这篇文章主要介绍了如何使用php和dom获取第一,第二和第三TD值,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的一张桌子:
<tr>
<td><font color="#000066">ADANA</font></td>
<td><font color="#000066">SEYHAN</font></td>
<td><font color="#000066">ZÜBEYDE HANIM ANAOKULU</font></td>
<td><font color="#000066">KURTULUŞ MAH.64011 SOK. NO:1</font></td>
<td><font color="#000066">(322) 453 10 60</font></td>
<td><font color="#000066">(322) 459 19 77</font></td>
</tr>
$xml = new DOMDocument();
$xml->validateOnParse = true;
$xml->loadHTML($data);
$xpath = new DOMXPath($xml);
$xpath = new DOMXPath($xml);
$table =$xpath->query("//*[@id='dgKurumListesi']")->item(0);
$rows = $table->getElementsByTagName("tr");
foreach ($rows as $row) {
$cells = $row -> getElementsByTagName('td',0);
foreach ($cells as $cell) {
echo $cell->nodeValue; //il ismi
}
}
我想要这样:$value [‘firsttd’],$value [‘secondtd’],$value [‘thirdtd’]
解决方法:
您可以使用for将结果限制为td的前3个项目:
$value = array();
$table = $xpath->query("//*[@id='dgKurumListesi']")->item(0);
$rows = $table->getElementsByTagName("tr");
foreach ($rows as $row)
{
$cells = $row->getElementsByTagName('td');
// Keep in mind that the elements index start at 0
// so we want 0, 1, 2 to get the first 3.
for ($i = 0; $i < 3; $i++)
{
if (is_object($cells->item($i)))
$value[] = $cells->item($i)->nodeValue;
}
}
print_r($value);
您可以使用以下命令输出结果$value:
foreach ($value as $item)
{
echo $item, "<br />\n";
}
根据您的评论,您可以使用像这样的多维数组:
for ($r = 0; $r < $rows->length; $r++)
{
if (!is_object($rows->item($r)))
continue;
$cells = $rows->item($r)->getElementsByTagName('td');
for ($i = 0; $i < 3; $i++)
{
if (is_object($cells->item($i)))
$value[$r][$i] = $cells->item($i)->nodeValue;
}
}
foreach ($value as $item)
{
echo $item[0], ',', $item[1], ',', $item[2], "\n";
}
以上是大佬教程为你收集整理的如何使用php和dom获取第一,第二和第三TD值全部内容,希望文章能够帮你解决如何使用php和dom获取第一,第二和第三TD值所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。