我有一个未终止字符串常量的问题。
下面是我的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
的值如下(string/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
包含单行字符串。
有人知道如何使这个varchar多行可以在PHP中使用吗?
如果您可以尝试不依赖PHP换行符。输入一些<br />
,因为你无论如何都要将HTML传递给内容。
我也有一个类似的问题,然而,我的HTML格式正确…一旦我能弄清楚我的问题,我会更新这个答案:),但是现在,做一个str_replace
并替换所有的PHP换行符'r
&'n
带<br />
我已经解决了我自己的问题,并想与你分享我所做的。
function FormatMapContent($str){
return str_replace(array('.', "'n", "'t", "'r"), '', $str);
}
用它来包装你的InfoWindow
内容,你应该很好。
HTH~凯文