這不是空白,但腳本錯誤。這可能是因爲你關閉了錯誤報告。
從這一行:
preg_match('/3 Day Weather Forest Summary:<\/b><span class="phrase">(.*?)</span>',$contents, $matches);
你忘了在</span>
(應該是<\/span>
)逃脫/
; preg_match沒有結尾分隔符/
。 (這裏有一個輸入錯誤,它應該是'Forecast'not Forest。)
但即使你修復了這些錯誤,你也不會得到你想要的東西,因爲從天氣預報中查看html源代碼,您在<\/b>
之後跳過<span class="read-more-small"><span class="read-more-content">
。
所以,它應該是這樣的:
<?php
$city=$_GET['city'];
$city=str_replace(" ","",$city);
$contents=file_get_contents("http://www.weather-forecast.com/locations/".$city."/forecasts/latest");
preg_match('/3 Day Weather Forecast Summary:<\/b><span class="read-more-small"><span class="read-more-content"> <span class="phrase">(.*?)<\/span>/',$contents, $matches);
echo $matches[1];
?>
或者
你可以使用preg_match_all
獲得全部三個天氣預報摘要(1 - 3天,4 - 7日,和7 - 10日),將您所有的preg_match
行替換爲:
preg_match_all('/<span class="phrase">(.*?)<\/span>/',$contents, $matches);
和回聲數據:
$matches[0][0]
爲1-3天,
$matches[0][1]
爲4-7天,
$matches[0][2]
爲7-10天。
你試過調試過嗎?什麼是城市?你在$內容中得到什麼? etc – pvg
空白可能意味着語法錯誤http://php.net/manual/en/function.error-reporting.php –