有人可以帮我识别错误:
<?php
$city=$_GET['city'];
$city=str_replace(" ", "", $city);
$contents=@file_get_contents("http://www.weather-forecast.com/locations/'.$city'/forecasts/latest");
preg_match('/<span class="phrase">(.*?)</s', $contents, $matches);
echo @$matches[1];
?>
由于某种原因,代码给了我错误,但是,如果我删除了城市并将其替换为特定的城市(伦敦,巴黎,开罗)代码工作,但当我把它放在城市..代码不是工作。
有人可以帮我识别错误或如何工作。
答案 0 :(得分:0)
首先从所有代码行中删除@
(不要逃避错误,尝试查找并解决它们)。
第二次更改$contents
行,如下所示: -
$contents= file_get_contents("http://www.weather-forecast.com/locations/$city/forecasts/latest");
或者
$contents= file_get_contents("http://www.weather-forecast.com/locations/'".$city."'/forecasts/latest");
注意: - 您的代码中存在字符串连接问题
答案 1 :(得分:0)
<?php
$city=$_GET['city'];
$city=str_replace(" ", "", $city);
$contents=file_get_contents('http://www.weather-forecast.com/locations/'.$city.'/forecasts/latest');
preg_match('/<span class="phrase">(.*?)</s', $contents, $matches);
echo $matches[1];
?>
答案 2 :(得分:0)
你可以检查解析$ city变量吗
$contents = @file_get_contents("http://www.weather-forecast.com/locations/".$city."/forecasts/latest");