嵌套引用悖论PHP


Nested quotation paradox PHP

我在嵌套报价方面遇到问题。。。实际上更像是一个悖论。

因此,这是一段代码,我在其中使用了4个级别的nestes引号,不知何故(我可以在Chrome的开发者工具中看到)浏览器错误地解释了第三和第四级别:

    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');'="">

有人能破解这个吗?我在这里有点业余。(哦!顺便说一句,这都是在一个while循环中,所以它必须被回显出来)

您可以通过使用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;

Backsplash不会转义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;