2014-09-26 4 views
0

В настоящее время я работаю над картой google, и у меня есть этот код, загружающий некоторый контент в маркеры из CMS.Карты Google, форматирование строки. (Удаление апострофов)

function showMarker(index) { 
    infowindow.setContent("<div class=\"map_marker\">" + markerData[index].content + "</div>"); 
    infowindow.open(map, markers[index]); 

    map.panTo(markers[index].getPosition()); 

    showAttractionInfo(index); 
} 

Однако проблема под рукой, если апостроф или котировки ставятся в CMS через это нарушит карту, и он не будет отображаться.

Мне нужен способ форматирования markerData[index].content, прежде чем он будет помещен в карту, удаляя апострофы и цитаты.

Я пробовал использовать replace, но это не сработало для меня вообще. Любые предложения?

EDIT:

Я пробовал эти решения до сих пор:

infowindow.setContent("<div class=\"map_marker\">" + markerData[index].content.replace(/'/g, '') + "</div>"); 

var description = markerData[index].content; 
    description.replace(/'/g, ''); 
    infowindow.setContent("<div class=\"map_marker\">" + description + "</div>"); 

var description = markerData[index].content; 
      description.replace("'", ""); 
      infowindow.setContent("<div class=\"map_marker\">" + markerData[index].content + "</div>"); 

var description = markerData[index].content; 
      description.replace("'", "&#39;"); 
      infowindow.setContent("<div class=\"map_marker\">" + markerData[index].content + "</div>"); 

var description = markerData[index].content; 
      description.replace(/'/g, '&#39;'); 
      infowindow.setContent("<div class=\"map_marker\">" + markerData[index].content + "</div>"); 

Вот пример одного из маркеров DATAS (апостроф)

72 Дорога Drymen, в Берден, Глазго, G61 2rh

+0

Пожалуйста, разместите код, который вы пробовали, который не работал - возможно, была опечатка или простая ошибка. –

+0

Отправьте пример 'markerData [index] .content', чтобы мы знали, о чем вы говорите. – Andy

+0

[Вы можете использовать бит regex btw] (http://jsfiddle.net/z92hano6/). – Andy

ответ

1

Вам необходимо преобразовать эти двойные предложения в одинарные кавычки. Потому что в вашей строке

infowindow.setContent("<div class=\"map_marker\">" + markerData[index].content + "</div>"); 

Вы использовали двойные кавычки для создания строки. Используйте что-то вроде этого:

var modified = markerData[index].content.replace(/"/g, "'"); 
infowindow.setContent("<div class=\"map_marker\">" + modified + "</div>"); 
Смежные вопросы