regulares regular preg_replace_callback preg_replace_all preg_replace online expresiones especiales caracteres php regex replace

php - regular - preg_replace_all



PHP-Cambiar el formato del número de teléfono con Regex (4)

Estoy intentando descubrir cómo convertir un número de teléfono en el formato
+18761234567
dentro
876-123-4567
usando un reemplazo Regex.



Creo que esto debería funcionar

preg_replace(''/^/+1(/d{3})(/d{3})(/d{4})$/i'', ''$1-$2-$3'', ''+18761234567'');

Supongo que el +1 es constante y luego uso el atajo /d para hacer coincidir los caracteres decimales. El valor en {} es el número de caracteres para unir.


Esto supone que hay 2 caracteres al principio para ignorar.

preg_replace("/([0-9a-zA-Z+]{2})([0-9a-zA-Z]{3})([0-9a-zA-Z]{3})([0-9a-zA-Z]{4})/", "$2-$3-$4", ''+18761234567'');


Sé que no es Regex, pero esto también funciona :-)

$num = ''+18761234567''; $formatted = substr($num, 2, 3).''-''.substr($num, 5, 3).''-''.substr($num, 8);