我遇到有关嵌套引用的问题......实际上更像是一个悖论。
所以这是我使用4级nestes引用的代码片段,并且以某种方式(对于我在Chrome的Developer's Tools中可以看到的内容),浏览器错误地解释了第三和第四级:
echo
"<script type='text/javascript'>
var latlng = new L.LatLng(".$row ['lat'].", ".$row ['long'].");
var flyer = ";
echo
"\"<img class='flyerwide'
src='http://plandenuit.com/boliches/flyers/".$clubday."/".$name.".jpg'/>
<br /><br />";
echo "<a href='#' onClick='return false' onmousedown=
1.3在这一行是问题所在,我使用'作为第三级引用而''作为第四级
'javascript:swapContent(\'profilepage\',\'\',\'".$influenceGroupRow['id']."\');'>
1.3问题的终点
<img class='pic' src='http://graph.facebook.com/".$influenceGroupRow['id']."/picture'/></a>";
echo
"\";
var MyIcon = L.Icon.extend({
iconUrl: 'boliches/icons/".$name.".png',
shadowUrl: null,
iconSize: new L.Point(50, 50),
shadowSize: null,
iconAnchor: new L.Point(25, 25),
popupAnchor: new L.Point(1, 1)
});
var icon = new MyIcon();
var marker = new L.Marker(latlng, {icon: icon});
map.addLayer(marker);
marker.bindPopup(flyer);
map.panTo(new L.LatLng(".$setlat.", ".$setlong."));
</script>
";
现在,我已经尝试了几乎所有我能想到的东西或谷歌。 Chrome的开发人员工具显示浏览器按如下方式解释该行:
<a href="#" onclick="return false" onmousedown="javascript:swapContent(" profilepage','','1005497360');'="">
任何人都可以破解这个吗?我是一个业余爱好者。 (哦!顺便说一下,这一切都在一个循环中,所以它必须被呼出)
答案 0 :(得分:0)
反斜杠不会转义HTML属性中的引号。相反,您应分别对"
和'
使用"
或'
。
此外,您可以使用HEREDOC代替PHP中的引号:
echo <<<END
All of your stuff goes here. "quotes are fine" as are 'single quotes',
and you can still include variables like $myvar or {$myarray['key']}.
END;
答案 1 :(得分:0)
您可以使用HEREDOC:
消除至少一个引用级别echo <<<EOL
<script type="text/javascript">
var latlng = new L.LatLng({$row ['lat']}, {$row['long']});
var flyer = '<img class="flyerwide" src="http://plandenuit.com/boliches/flyers/{$clubday}/{$name}.jpg"/ ><br /><br />';
etc...
EOL;