我的代码应该返回一个包含天气摘要的数组,但不会。
我该如何使这项工作?
这是我正在进行的$contents=file_get_contents("http://www.weather-forecast.com/locations/San-Francisco/forecasts/latest");
preg_match('3 Day Weather Forecast Summary:<\/b><span class="phrase">(.*?)</s', $contents, $matches);
print_r($matches);
课程的一部分;我的代码与我的教师完全匹配,但不会返回相同的结果。
我没有发现任何语法错误,所以还有其他东西我要么缺少要么没有...
{{1}}
答案 0 :(得分:0)
你必须在正则表达式周围添加一些分隔符,以便从(可能的)修饰符中分离出来。
你可以使用你想要的任何字符 - 即/
- 但是当你在你的正则表达式中使用这个字符时,使用不同的字符可能更容易,比如代字号~
$contents=file_get_contents("http://www.weather-forecast.com/locations/San-Francisco/forecasts/latest");
preg_match('~3 Day Weather Forecast Summary:<\/b><span class="phrase">(.*?)</s~', $contents, $matches);
print_r($matches);
刚刚测试了你的正则表达式,看起来,页面的html与你的表达不匹配。我稍微修改了它如下:
3 Day Weather Forecast Summary:<\/b>.*?<span class="phrase">([^<]+)