2013-03-08 85 views
0

我就是用這個下面的代碼:的preg_match不再從文件中提取數據,因爲它是

<? 

$file = file("http://www.schoolclosingsnetwork.com/output/clearchannel/wgyweb.asp"); 

while ($row = each($file)) { 
    $match = preg_match("/\"(.*)\"\,\"(.*)\"/i", $row[1], $matches); 
    echo '<b>' . $matches[1] . '</b><br>'; 
    echo $matches[2] . '<br><br>'; 
} 

if ($match == 0) { 
    echo '<p>No announcements found.</p>'; 
} 

?> 

拉學校關閉和延誤的飼料,它一直致力於完美。但是,截至今天,它已停止工作。

,它是從拉動信息正在$file

通常會發生什麼事是輸出會是什麼樣子:

學校名稱 關閉/延遲

現在的一切,我得到沒有發現任何公告,就好像它沒有找到任何匹配一樣。

也許我只是忽略了一些東西?我對PHP不太熟練,因爲它對我的日常工作通常不是必需的。

所以,任何幫助表示讚賞。

+1

頁面模板是否可能更改? – Tchoupi 2013-03-08 19:58:27

+0

看起來它對我有用http://codepad.viper-7.com/RPD2wB/55dev? – 2013-03-08 20:01:12

+0

是的它的工作 – 2013-03-08 20:07:10

回答

1

您嘗試解析的數據是CSV格式的數據。您應該使用更合適的功能,如str_getcsv來解碼它:

$file = file("http://www.schoolclosingsnetwork.com/output/clearchannel/wgyweb.asp"); 

foreach ($file as $row) { 
    $matches = str_getcsv($row); 
    echo '<b>' . $matches[0] . '</b><br>'; 
    echo $matches[1] . '<br><br>'; 
} 
+0

這也適用,而且更加乾淨和合適。問題的根源是我們現在正在工作的問題。我的舊代碼可以工作,或者你的工作也可以。非常感謝。 – 2013-03-08 20:35:41