将数字转换为国际数字,PHP

发布于 2024-10-12 04:01:26 字数 467 浏览 3 评论 0原文

在PHP中,将手机号码转换为国际格式的最快方法是什么:

所以07123456789变成44712​​3456789。

我尝试了几种方法,但似乎无法让它工作。

这是当前脚本:

    if(strlen($gsm) > 2) {
        if(!substr_compare($gsm, "07", 0, 2, false)) {
            unset($gsm);
        }
        elseif (substr_compare($gsm, "07", 0, 3, true)) {
            if(strlen($gsm) == 11) {
                return "447" . substr($gsm, 2);
            }
        }
    }

注意:此脚本仅在数字与正则表达式匹配时运行。

In PHP what is the quickest way to convert an mobile number to international format:

So 07123456789 becomes 447123456789.

I have tried a few ways and cant seem to get it to work.

This is current script:

    if(strlen($gsm) > 2) {
        if(!substr_compare($gsm, "07", 0, 2, false)) {
            unset($gsm);
        }
        elseif (substr_compare($gsm, "07", 0, 3, true)) {
            if(strlen($gsm) == 11) {
                return "447" . substr($gsm, 2);
            }
        }
    }

Note: This script only runs if the number matches a regex.

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

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

发布评论

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

评论(3

喜爱皱眉﹌ 2024-10-19 04:01:26

也许是这样的?

$intl_number = preg_replace('/^0/','44',$uk_number);

或者如果您特别只想使用英国手机号码:(

$intl_number = preg_replace('/^07/','447',$uk_mob_number);

注意:我假设英国特定,因为您在问题中指定了“44”)

这确实使用正则表达式,但执行速度应该相当快,因为​​它锚定到字符串的开头。

Something like this, perhaps?

$intl_number = preg_replace('/^0/','44',$uk_number);

or if you specifically only want to do UK mobile numbers:

$intl_number = preg_replace('/^07/','447',$uk_mob_number);

(note: I'm assuming UK-specific since you specified '44' in the question)

This does use Regex, but should be pretty quick in execution speed since it is anchored to the begining of the string.

晨与橙与城 2024-10-19 04:01:26

我想到的最快的方法是,只要你知道此时的数字与格式 07xxxxxx 匹配:

 $number = "07123456789";
 $number = '44'.substr($number,1);

Fastest way that comes to mind for me, as long as you are shre the number matches the format 07xxxxxx at this point:

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