如何正确解析php中的字符串温度?

时间:2016-09-10 15:08:22

标签: php json parsing

我想在我的网站上显示温度。我在json中有一个预测,我从api得到了这个字段,我需要得到温度:

  

“fcttext_metric”:“主要是晴朗的天空。高温接近30°C。风速为10至15公里/小时。”

我试图只解析浮动数字,但效果很好,但是当它背后有更多文本时它会失败,就像上面的情况一样。我试图只显示前2个字符,但当温度为负时它会再次失败。我该怎么办?

$str = 'A mainly sunny sky. High near 30 ° C. Winds SE at 10 to 15 km/h.';
$deg = filter_var($str, FILTER_SANITIZE_NUMBER_FLOAT);
$res = substr($deg, 0, 2);
print_r($res);

1 个答案:

答案 0 :(得分:1)

我会使用这个正则表达式。它应该在°(& deg)符号之前匹配整数值。像30或-30

preg_match('/(\-?\d+)\s*°/', $str, $matches);
echo $matches[1];