Доброго времени суток. Есть динамический файл со строками в каждой из которых географические координаты. Выглядит примерно так: lat="38° 07` 55" lon="078° 11` 19" lat="53° 28` 30" lon="002° 05` 19" lat="52° 36` 27" lon="002° 09` 13 Очень нужно конвертировать данные координаты в другой формат по формуле: "38° 07` 55 = ", 38 + (7 / 60) + (55 / 3600), " То-есть строку lat="38° 07` 55" lon="078° 11` 19" нужно преобразовать в lat="38.131944444444" lon="78.188611111111" Прошу помочь. Даже не знаю куда копать.
Не понимаю Пробовал вот такую замену, но она выводит само уравнение, а не его решение $content = preg_replace('|(\d+)° (\d+)` (\d+)|', '$1 + ($2 / 60) + ($3 / 3600)', $content);
Ну так ты написал "заменить строку по такому-то шаблону на такой-то шаблон". Вот он тебе и меняет строку на строку. А тебе надо выцепить эти совпадения и использовать потом отдельной командой в математике. Ну или если уж хочется реплейс делать, то через колбек функцию.
Я потому и пишу в раздел для новичков, что ничего не понимаю из сказанного Вами. Спасибо за попытку помочь.
https://secure.php.net/manual/ru/function.preg-replace-callback.php Вот это плохо. Новичок - это тот, кто хотя бы одну книжку по php прочитал, прежде чем начинать программировать.
preg_match и потом $content = $m[1] + ($m[2]/60) + ($m[3]/60) либо preg_replace_callback и return $m[1] + ($m[2]/60) + ($m[3]/60) новичок новичком, но если регулярки взял, значит уже остальные моменты типа знаешь.
я эту строку с регуляркой по примерам в интернете почти сутки пытался составить чтоб заработала. На самом деле практически не разбираюсь в PHP. Инклуды умею хорошо делать ))). Спасибо. Буду пытаться сделать то что Вы написали. Хотя не до конца понял как это написать.
Ничего не выходит Вот так пробовал $str = "(\d+)° (\d+)` (\d+)"; { return $m[1] + ($m[2]/60) + ($m[3]/3600); } echo preg_replace_callback("/(\d+)/",$str);
Вы считаете что каждый кто обратился за помощью в раздел новичков должен сразу идти зубрить книгу? Спасибо за советы. Но прям сейчас все бросать ради одной функции и начинать изучать то, что люди изучают годами у меня нет возможности. Просишь помощи, а тебя посылают в гугл или в библиотеку. Раздел для новичков можно было и не открывать, а просто написать список книг рекомендуемых к изучению. Удаляюсь. Можете не отвечать.
Истеричку выключи. Она по жизни только девочкам помогает, и то не всегда. Открой мануал по функции, которую используешь, и сравни своё творение с тем что там написано. И да, если ты взялся за регулярки то такая простая и базовая фигня как синтаксис языка в частности и алгоритмизация программирования в целом - для тебя уже не пустой звук.
Он должен это сделать до того, как написать первую строчку на php в реальном проекте. Для тех, кто не хочет читать инфу, есть разделы "Сделайте за меня" и "Фриланс".