diff --git a/router/api.js b/router/api.js index 76408a8..58da83b 100644 --- a/router/api.js +++ b/router/api.js @@ -50,13 +50,18 @@ module.exports = (fastify, opts, done) => { let file = '' const data = JSON.parse(val); const gen_wpt = (name,desc,latlon,icon="Flag") => `0${name}-${desc}${icon}` + const esc_str = (str) => str.replace('"',""").replace("'","'").replace("<","<").replace(">",">").replace("&","&").repace("\n","...") + ' + < < + > > + & & data.main.forEach(a => { - file+= gen_wpt(a.hotel.name, a.hotel.notes.replace("\n","... ").replace("&","\\&"), a.hotel.latlon, icon="Hotel"); + file+= gen_wpt(esc_str(a.hotel.name), esc_str(a.hotel.notes), a.hotel.latlon, icon="Hotel"); a.places.restaurants.forEach(b => { - file+= gen_wpt(b.name, b.notes.replace("\n","... ").replace("&","\\&"), b.latlon, icon="Restaurant"); + file+= gen_wpt(esc_str(b.name), esc_str(b.notes), b.latlon, icon="Restaurant"); }); a.places.activities.forEach(b => { - file+= gen_wpt(b.name, b.notes.replace("\n","... ").replace("&","\\&"), b.latlon, icon="Tree"); + file+= gen_wpt(esc_str(b.name), esc_str(b.notes), b.latlon, icon="Tree"); }); }); file+="";