文件获取内容的PHP错误

时间:2017-02-14 05:20:59

标签: php

有人可以帮我识别错误:

<?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];
?>

由于某种原因,代码给了我错误,但是,如果我删除了城市并将其替换为特定的城市(伦敦,巴黎,开罗)代码工作,但当我把它放在城市..代码不是工作。

有人可以帮我识别错误或如何工作。

3 个答案:

答案 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");