你能看到我的正则表达式匹配来自某些抓取的HTML的经度和lattiude出错了吗?
脚本应该通过使用file_get_contents来加载一些html然后使用正则表达式和preg_match来提取经纬度。目前,下面的脚本输出的是纬度和经度的空白,我不确定是什么问题,正则表达式对我来说不是一个非常强大的区域。感谢。
$url = 'http://www.homebase.co.uk/webapp/wcs/stores/servlet/StoreLocatorFlow?slsid=658';
$scrapedPage = file_get_contents($url);
返回的html中有一行,如下所示:
<p class="geo"> <abbr class="latitude" title="52.19166">52.19166</abbr> <abbr class="longitude" title="-2.23108">-2.23108</abbr> </p>
然后我们做preg_match:
preg_match('/class="latitude"\s*title="([^"]+)"/', $scrapedPage, $lat);
preg_match('/class="longitude"\s*title="([^"]+)"/', $scrapedPage, $lon);
echo '<latitude>'.$lat[1].'</latitude>';
echo '<longitude>'.$lon[1].'</longitude>';