запрос проверяет, соответствует ли его широта или просто текст на карте

StackOverflow https://stackoverflow.com/questions/2264639

Вопрос

При поиске я хочу проверить, является ли запрос широтой и долготой или просто текстовым поиском с помощью PHP.

$query = '-122.0307642, 37.3316930';

широта и долгота также могут содержать '-' в них.

Что preg_match что это будет за образец для этого?

Это было полезно?

Решение

Следующее регулярное выражение будет соответствовать двум числам (со знаком минус или без него, разделенным запятой) формата a.b где a и b являются последовательностями цифр минимальной длины один.

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

Другие советы

Что- то вроде этого:

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

Это даст вам два совпадения, которые затем вы можете преобразовать в floats и проверить на соответствие границам lat / lng.

Это также позволит разделять два числа пробелом.Если вы хотите разрешить только запятую, используйте:

(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top