如何在字符串中添加字符?PHP - 在字符串中间添加字符(从结尾开始)
我想格式化一个美国数字,如2121231234成一个破折号如下:212-123-1234。
我不知道提前了一串数字多久会,
它可能是12121231234,它甚至可能是0012121231234,
在这种情况下,我希望它变成1212-123-1234,和001212-123-1234。
到目前为止,这是我想出来的:
$phone_number = '2121231234';
$phone_number = str_split($phone_number); // [2,1,2,1,2,3,1,2,3,4]
$phone_number = array_reverse($phone_number); // [4,3,2,1,3,2,1,2,1,2]
array_splice($phone_number, 4, 0, '-'); // [4,3,2,1,-,3,2,1,2,1,2]
array_splice($phone_number, 8, 0, '-'); // [4,3,2,1,-,3,2,1,-,2,1,2]
$phone_number = array_reverse($phone_number); // [2,1,2,-,1,2,3,-,1,2,3,4]
$phone_number = implode($phone_number); // "212-123-1234"
其中一期工程,但似乎是太多来完成这样一个简单的任务。
我错过了什么?
大,最优雅的解决方案。 – 2013-08-01 11:24:48