嵌套引用悖论PHP

时间:2012-07-27 18:45:00

标签: php quotes

我遇到有关嵌套引用的问题......实际上更像是一个悖论。

所以这是我使用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');'="">

任何人都可以破解这个吗?我是一个业余爱好者。 (哦!顺便说一下,这一切都在一个循环中,所以它必须被呼出)

2 个答案:

答案 0 :(得分:0)

反斜杠不会转义HTML属性中的引号。相反,您应分别对&quot;&apos;使用"'

此外,您可以使用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;