php 将手机号码转为 +886 国际码(preg_replace + preg_quote)

当初串 TapPay 的时候发现打他后端的手机格式需要国际码 +886,于是想到这个做法可以实现

str_replace_national function

function str_replace_national($from, $to, $content) {  $from = '/'.preg_quote($from, '/').'/';  return preg_replace($from, $to, $content, 1);}

使用

str_replace_national('0', '+886', $phone);

所以他只会取代第一个「0」,将它改为 +886

转回来一样原理

str_replace_first function

function str_replace_first($from, $to, $content) {  $from = '/'.preg_quote($from, '/').'/';  return preg_replace($from, $to, $content, 4);}

使用

str_replace_first('+886', '0', $phone);

将 +886 取代为原本的「0」

参考
https://ianakaberlin.medium.com/php-%E5%B0%87%E6%89%8B%E6%A9%9F%E8%99%9F%E7%A2%BC%E6%B7%BB%E5%8A%A0%E5%9C%8B%E9%9A%9B%E7%A2%BC-preg-replace-preg-quote-%E4%BC%8A%E6%81%A9%E8%B8%A9%E5%9D%91%E6%97%A5%E8%A8%98-15adc242a995


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章