Pergunta

Na pesquisa, quero verificar se a consulta é latitude e longitude ou apenas pesquisa de texto com PHP.

$query = '-122.0307642, 37.3316930';

Latitude e longitude também podem ter '-' neles.

o que preg_match padrão será para isso?

Foi útil?

Solução

O regex a seguir corresponderá a dois números (com ou sem um sinal negativo, separados por uma vírgula) do formato a.b Onde a e b são seqüências de dígitos de comprimento mínimo um.

(-?\d+\.\d+)\s*,\s*(-?\d+\.\d+)

Outras dicas

Algo assim:

(-?\d+(?:\.\d+)?)(?:,\s*|\s+)(-?\d+(?:\.\d+)?)

Isso lhe renderá duas partidas, que você pode lançar para flutuar e verificar nos limites Lat/LNG.

Isso também permitirá que os dois números sejam separados pelo espaço. Se você deseja permitir apenas uma vírgula, use:

(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top