PHP - Extraer código postal de cadena

 
Vista:

Extraer código postal de cadena

Publicado por Jorge (48 intervenciones) el 23/07/2020 08:40:54
Buenos días,

Necesito extraer el código postal de una cadena, ¿cómo puedo hacerlo?

Tengo direcciones registradas en la base de datos y por cada dirección quiero obtener su código postal.

Por favor, ¿podéis apoyarme con este tema?

Gracias de antemano.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Luis
Val: 128
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Extraer código postal de cadena

Publicado por Luis (4 intervenciones) el 23/07/2020 09:20:26
Buenos días,
Puedes adjuntar un ejemplo de la cadena que recibes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Extraer código postal de cadena

Publicado por Jorge (48 intervenciones) el 23/07/2020 12:17:03
Hola,

Sí, la cadena que recibo no es de longitud fija, a continuación unos ejemplos:

Avenida de la Industria 39, 28760, Tres Cantos, Madrid

C/ Alejandro Casona, 9 bajos 33420 Lugones (Siero, Asturias)

Av. de Velázquez, 62 29004 Málaga

Perdona y la población también necesitaría sacarla de la cadena.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Luis
Val: 128
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Extraer código postal de cadena

Publicado por Luis (4 intervenciones) el 23/07/2020 12:37:25
Hola de nuevo, el Código Postal entendiendo que son 5 números consecutivos, se podría sacar , la localidad la buscaría haciéndome con una tabla de códigos postales porque extraerla de la cadena con esos formatos tan dispares no lo veo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Extraer código postal de cadena

Publicado por Jorge (48 intervenciones) el 23/07/2020 12:45:31
Hola,

Ok, gracias. Si son 5 números consecutivos pero no sé cómo decirle para localizar los 5 números consecutivos y extraerlos para guardarlos en una variable.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Extraer código postal de cadena

Publicado por joel (1269 intervenciones) el 23/07/2020 12:50:14
Una manera sencilla seria con una expresión regular...

1
2
3
$s="C/ Alejandro Casona, 9 bajos 33420 Lugones (Siero, Asturias)";
preg_match("/([0-9]{5})(.*)/", $s, $match);
print_r($match);

te devolverá algo como:
1
2
3
4
5
6
Array
(
    [0] => 33420 Lugones (Siero, Asturias)
    [1] => 33420
    [2] =>  Lugones (Siero, Asturias)
)

Te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Extraer código postal de cadena

Publicado por Jorge (48 intervenciones) el 23/07/2020 12:54:37
Hola Joel,

Gracias por tu respuesta. Perdona mi desconocimiento, ¿el código postal (5 digitos consecutivos) siempre vendrán en la posición 1 del array?

Tenga la longitud que tenga la cadena.

Gracias de antemano. Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Extraer código postal de cadena

Publicado por joel (1269 intervenciones) el 24/07/2020 08:33:58
Si exacto!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Extraer código postal de cadena

Publicado por Jorge (48 intervenciones) el 24/07/2020 09:50:42
Hola Joel,

Ok, muchas gracias por tu gran ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar