Незавершенная строковая константа в Google Map API с использованием PHP

у меня проблема с незавершенной строковой константой.

вот мой код в PHP:

'html' => '<div><table><td><tr><img src="' . "http://www.simbawave.com/_lib/file/img/hotel/$FolderHotel/$NamaFile" . '"width="200" height="200" /></tr><tr><p><b>'.$Hotel."</b></p></tr></td><td>$Alamat</td></table></div>", 

а вот и исходник HTML (результат не весь, будет слишком долго)

markers[8] = new google.maps.Marker({
    icon: "http://www.simbawave.com/MapBlueIcon/villa.png",
    title: "Bali Dynasty Resort",
    position: new google.maps.LatLng(-8.747509, 115.16764),
    map: map
});
infos[8] = new google.maps.InfoWindow({
    content: "<div><table><td><tr><img src=\"http://www.simbawave.com/_lib/file/img/hotel/HO-00009/depan2web.jpg\"width=\"200\" height=\"200\" /></tr><tr><p><b>Bali Dynasty Resort</b></p></tr></td><td> Jln. Kartika Po Box 2047
Tuban 80361
South Kuta
Bali - Indonesia</td></table></div>"
});

если я удалю переменную $Alamat, все будет хорошо, без проблем. но я объявляю $Alamat, я понятия не имею, что не так с моим PHP-кодом.

Значение $Alamat такое (строка/varchar):

Jln. Kartika Po Box 2047
Tuban 80361
South Kuta

Но в представлении HTML отображается только:

Jln. Картика По Коробка 2047

Я думал, что при переходе в HTML должны отсутствовать некоторые символы.

Tuban 80361
South Kuta
Bali - Indonesia</td></table></div>

Я думал, что эти символы не были переданы, и делаю эту ошибку, потому что $Alamat содержит несколько строк, а не одну строку, а $Hotel содержит одну строку строки.

Кто-нибудь знает, как сделать так, чтобы в PHP можно было использовать несколько строк varchar?


person Iwan PC    schedule 04.05.2013    source источник


Ответы (1)


Если вы можете попытаться не полагаться на разрывы строк PHP. Вставьте несколько <br />, так как вы все равно передаете HTML контенту.

У меня тоже похожая проблема, однако мой HTML отформатирован правильно... Я обновлю этот ответ, как только разберусь со своей проблемой :), но пока сделайте str_replace и замените все разрывы строк PHP \r & \n с <br />

Я исправил свою собственную проблему и хотел поделиться с вами тем, что я сделал.

function FormatMapContent($str){
    return str_replace(array('.', "\n", "\t", "\r"), '', $str); 
}

Оберните этим свой InfoWindow контент, и все готово.

HTH ~ Кевин

person Kevin    schedule 30.12.2013