0

我有这个 html 表。这是一个简化版本(我有 100 行)

<table>
<tr><th>Date</th><th>Time</th><th>Description</th></tr>
<tr><td>2013-10-22</td><td>03:05:29</td><td>DESC1</td></tr>
<tr><td>2013-10-22</td><td>03:05:29</td><td>DESC2</td></tr>
<tr><td>2013-10-22</td><td>03:05:29</td><td>DESC3</td></tr>
</table>

从这里我需要的是: DESC1、DESC2 和 DESC3 我不需要标题部分或日期和时间。只有描述列(没有标题)。我怎样才能做到这一点?

4

2 回答 2

0

使用 jQuery

$('table > tr > td').text();
于 2013-10-22T14:30:32.230 回答
0

您可以使用DomDocumentDOMXpath

例如,像这样:http ://codepad.viper-7.com/kvRjAO

代码

<?php
    $html = '<table>
<tr><th>Date</th><th>Time</th><th>Description</th></tr>
<tr><td>2013-10-22</td><td>03:05:29</td><td>DESC1</td></tr>
<tr><td>2013-10-22</td><td>03:05:29</td><td>DESC2</td></tr>
<tr><td>2013-10-22</td><td>03:05:29</td><td>DESC3</td></tr>
</table>
';

$doc = new DomDocument; // init
$doc->loadHTML($html); // load the table
$xpath = new DomXPath($doc); // init xpath for that html
$secondTDs = $xpath->query('//td[3]'); // basic xpath applied
$phpArray = array(); // init final array
foreach($secondTDs as $td){
    $phpArray[] = $td->nodeValue; // each 3rd td value in final array
}
var_dump($phpArray); // display final array for demo purpose

结果

array(3) { [0]=> string(5) "DESC1" [1]=> string(5) "DESC2" [2]=> string(5) "DESC3" } 
于 2013-10-22T14:51:25.953 回答