¿Cómo se agregan caracteres en medio de una cadena?PHP - agregar caracteres en medio de una cadena (comenzando desde el final)
Estoy tratando de formatear un número estadounidense como 2121231234 en uno con guiones como el siguiente: 212-123-1234.
No sé de antemano cuánto tiempo será la cadena de números,
Podría ser 12121231234, que incluso podría ser 0012121231234,
en cuyo caso, quiero que se convierta en 1212-123-1234, y 001212-123-1234, respectivamente.
Hasta ahora, esto es lo que he llegado con:
$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"
que funciona, pero parece ser demasiado para realizar una tarea tan sencilla.
¿Qué me estoy perdiendo?
Grande, la solución más elegante. –