【问题标题】:preg_match() adding nonsense characterpreg_match() 添加废话字符
【发布时间】: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


【解决方案1】:

您是否确认 HTTP 标头中的字符集设置为 UTF-8 或 Unicode?有关 PHP 和 Unicode 的更多信息,请参阅此页面:http://ibm.com/developerworks/library/os-php-unicode/index.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    • 2018-08-23
    相关资源
    最近更新 更多