【发布时间】:2012-02-27 15:38:06
【问题描述】:
我正在尝试匹配 DMS 纬度/经度。不过,我遇到了一些障碍。到目前为止,我可以检测到该模式,但匹配会在特殊字符旁边不断返回一个无意义的字符。这是我的代码:
//Begin code
$pattern = '/[0-9]{1,3}[:| |\x{00B0}]{0,1}[0-9]{1,2}[\']{0,1}[0-9]{1,2}["]{0,1}[N|S|E|W]/ui';
$value = "12°30'23\"S";
preg_match($pattern,$value,$matches);
print_r($matches);
//End code
这是输出:
Array ( [0] => 12°30'23"S )
如您所见,在 12 和 ° 之间存在一个不需要的 Â。
请帮忙!
【问题讨论】:
-
您是否验证了 http 标头中的字符集设置为 utf-8 或 unicode?有关 php 和 unicode 的更多信息,请参阅此内容:ibm.com/developerworks/library/os-php-unicode/index.html
-
好吧,我觉得自己很愚蠢。谢谢彼得
-
@PeterSmith,将其发布为答案怎么样?这将有助于将问题从未回答的问题列表中删除...
标签: php regex unicode preg-match pcre