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.
Además, hay una Biblioteca Regexp en Internet. Puede ser de ayuda.
Buscar ''teléfono'':
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);