我正在运行一个php脚本,它从url收集数据并在节点中显示指定的html标记。现在我想在我的服务器上保存这个列表并创建一个js函数,它访问这个文件并收集某些数据,例如从第6行开始,每三个值应放在一个将显示的数组中。
所以我想将我从网址获取的php数据与我的js脚本连接,该脚本当前只在数组中显示静态值,但它应该从我的php列表中获取这些值。
这是我对php的代码:
$html = file_get_contents("https://www.example.com/link");
$dom = new DOMDocument();
$dom->loadHTML($html);
$nodes = $dom->getElementsByTagName('td');
foreach ($nodes as $node) {
echo $node->nodeValue."<br>"; // return <td> tag data
}
输出如下所示,因为该表只有3列
日期
时间
名称
17年4月26日
13:45
sometext
17年4月26日
13:45
sometext
我希望js只能在数组中获取今天日期的粗体值。 我的想法是将其保存为xml文件并创建js访问,但这并不是我想要的方式。有人知道怎么做这个吗 ? 这是HTML表的结构
<table class="xxx"><col style="width: 20%;"/>
<col style="width: 20%;"/><col style="width: 60%;"/>
<thead>
<tr><td>Date</td><td>Time</td><td>Name</td></tr>
</thead>
<tbody>
<tr><td>2017-06-26</td><td>03:06:13</td><td>thetextiwant</td></tr>
<tr><td>2017-06-26</td><td>03:06:13</td><td>thetextiwant</td></tr>
此表将继续另外1000个值 然后
</tbody>
</table>
答案 0 :(得分:0)
好的,要获得该表结构的每个第三列,您可以做一些事情:
array = ["R.M", 20, "R.U-CS", 3, "R.M-TIC", 3, "R.J.CONF", 20]
array.reject &String.method(:===)
#⇒ [
# [0] 20,
# [1] 3,
# [2] 3,
# [3] 20
# ]
或(与xpath):
$dom = new DOMDocument();
$dom->loadHTML($html);
$tbodyRows = $dom->getElementsByTagName( 'tbody' )
->item( 0 ) // grab first tbody
->getElementsByTagName( 'tr' );
$result = array();
foreach( $tbodyRows as $tbodyRow )
{
$result[] = $tbodyRow->getElementsByTagName( 'td' )
->item( 2 ) // grab 3rd column
->nodeValue;
}
var_dump( $result );