我正在尝试使用正则表达式从这个html中提取经度和纬度坐标。这只是来自http://www.bricodepot.fr/troyes/store/storeDetails.jsp?storeId=1753的完整html的片段,因此我需要能够搜索整个目标页面html并匹配此块中的经度和纬度:
<div class="coordinates">
<i></i>
<strong>Latitude :</strong> 46.369384765625<strong>Longitude :</strong> 2.56929779052734</div>
</div>
这与我目前的情况差不多:
preg_match("/<strong>Latitude :<\/strong> (.*?)/", $input_line, $output_array);
给出:
阵 ( [0] =&gt; 纬度: [1] =&gt; )
我知道怎样才能得到坐拥?
答案 0 :(得分:0)
你快到了!
preg_match_all("<strong>L(at|ong)itude :<\/strong>\s([\w\.]*)?", $input_line, $output_array);
结果数组将是:
Array
(
[0] => Array
(
[0] => <strong>Latitude :</strong> 46.369384765625
[1] => <strong>Longitude :</strong> 2.56929779052734
)
[1] => Array
(
[0] => at
[1] => ong
)
[2] => Array
(
[0] => 46.369384765625
[1] => 2.56929779052734
)
)
答案 1 :(得分:0)
preg_match_all("/<strong>Latitude :<\/strong> ([\d\.]+)<strong>Longitude :<\/strong> ([\d\.]+)/", $input_line, $output_array);
答案 2 :(得分:0)
你能做的最简单的事情就是先strip the tags出局。那么你的RegExp可以更加简单和可维护。
通过剥离标签,您最终得到:
Latitude : 46.369384765625Longitude : 2.56929779052734
与此RegExp一起:
/(?:(Latitude|Longitude) : ([\d\.]+))/
你最终会得到这样的结果:http://ideone.com/JGZOZi