我想通过API发送短信,但其中一个要求是我必须使用国家/地区代码,其次我需要确保数字的长度是正确的。
首先我需要删除数字中的任何空格,检查字符长度是否为11,检查数字是否以07开头,然后用+44替换。
解决这个问题最简单的方法是什么?我在考虑
$number = '07803 556557';
$number = str_replace(' ', '', $number);
if (strlen($number) == '11' && substr($number, 0, 2) == '07') {
$number = str_replace('07', '+44', $number);
}
答案 0 :(得分:0)
从输入中删除所有非数字字符。这不仅会在开头删除空格和+
,还会打字错误或人们有时添加的(
,)
或-
等字符。
检查长度并停止,如果它不符合您的要求。但是,你确定只能有长度为11的数字吗?
检查前两个数字是44
还是07
,否则停止。但是,您确定不想接受其他国家/地区代码吗?
将前两个数字更改为+44
。还记得ewcz所说的话:如果你使用str_replace()
,你可能无法得到你想要的东西。相反,只需替换前两个:$number = substr_replace($number, "+44", 0, 2);