preg_match() 添加无意义字符

发布于 2025-01-03 03:23:59 字数 424 浏览 1 评论 0原文

我正在尝试匹配 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 和 ° 之间存在不需要的 Â。

请帮忙!

I'm trying to match DMS latitude/longitude. I've run into a bit of a snag, though. I can detect the pattern so far, but the match keeps returning a nonsense character next to a special character. Here is my code:

//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

and here is the output:

Array ( [0] => 12°30'23"S ) 

As you can see, an undesired  exists between the 12 and the °.

Please help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

明媚殇 2025-01-10 03:24:00

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

Have you verified the charset is set to UTF-8 or Unicode in the HTTP headers? See this page for more info on PHP and Unicode: http://ibm.com/developerworks/library/os-php-unicode/index.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文