2016-07-07 51 views
1

我想格式化的是由下面的PHP腳本的輸出:PHP:如何刮HTML分配到陣列

<?php 

$stop = $_POST["stop_number"]; // stop_number is an text input value provided by user 
$depart_url = "http://64.28.34.43/hiwire?.a=iNextBusResults&StopId=" . $stop; 
$html = file_get_contents($depart_url); 
$dom = new DOMDocument(); 
libxml_use_internal_errors(true); 
$dom->loadHTML($html); 
$xpath = new DOMXPath($dom); 

$my_xpath_query = "//td[@valign='top']"; 
$result = $xpath->query($my_xpath_query); 

foreach($result as $result_object) 
{ 
    echo $result_object->childNodes->item(0)->nodeValue,'<br>'; 
} 

?> 

這裏是輸出(至少在一種情況下,隨着時間的數據的變化) 。

18 - GOLD 
OUTBOUND 
8:17p 
8:16p 
8 - GREEN 
OUTBOUND 
8:46p 
8:46p 
8 - GREEN 
OUTBOUND 
18 - GOLD 
OUTBOUND 
5 - PLUM 
OUTBOUND 

編輯:

我想上面的輸出信息,以在表中去,例如下面的一個。然而,不是標籤之間的文本,而是變量或php腳本輸出中的項目。

<!DOCTYPE html> 
<html> 
<title>Departure Table</title> 

<body> 
<h4>Next Departures for Stop Number: __ </h4> 
<table border="1px solid black"> 
    <tr> 
     <th>Route</th> 
     <th>Direction</th> 
     <th>Scheduled</th> 
     <th>Estimated</th> 
    </tr> 
    <tr> 
     <td>18 - Gold</td> 
     <td>Outbound</td> 
     <td>8:17p</td> 
     <td>8:16p</td> 
    </tr> 
    <tr> 
     <td>8 - Green</td> 
     <td>Outbound</td> 
     <td>8:46p</td> 
     <td>8:46p</td> 
    </tr> 
</table> 
</body> 
</html> 
+0

HTML或純文本輸出? – Phil

+0

對不起,菲爾,我真的不知道你的意思。我希望能夠將輸出信息組織到變量中,以便我可以將它們顯示在HTML頁面的表格中。 –

+0

聽起來就像你想HTML那樣。試試'echo $ result_object-> childNodes-> item(0) - > nodeValue'
';'。您應該在您的問題中顯示所需的輸出格式(表格),如果這是您真正需要的 – Phil

回答

1

嘗試的echo語句後追加\ n標籤:

echo $result_object->childNodes->item(0)->nodeValue."\n"; 

編輯:

如果你想存儲在PHP變量數據,你可以做這樣的事情:

將數據存儲在數組中,如變量(或根據需要存儲任何其他數據結構)並迭代變量。

$store_data_in_array_variable = array(); 

foreach($result as $result_object) 
{ 
    $store_data_in_array_variable[] = $result_object->childNodes->item(0)->nodeValue; 

} 

//iterate over all stored values 

foreach ($store_data_in_array_variable as $key => $value) 
{ 
    echo $key; 
    echo '<br>'; 
    echo $value; 
} 
+0

輸出如下:18 - 黃金輸出8:17p 8:16p 8 - 綠色輸出8:46p 8:46p 18 - 黃金輸出8 - 綠色輸出5 - 梅花輸出。所以現在有空格,但我如何操作這些項目以進一步格式化? –

+0

進一步格式化的意思是什麼? – nit29