2012-07-27 84 views
-1

我有一个关于嵌套报价的问题......更像是一个悖论实际。嵌套报价悖论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在该线的问题,我使用“作为第三级报价和\”作为问题

<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> 
    "; 
的线的第四

'javascript:swapContent(\'profilepage\',\'\',\'".$influenceGroupRow['id']."\');'> 

1.3完

现在,我尝试了几乎所有我能想象到的或谷歌的东西。 Chrome的开发者工具显示浏览器解释该行如下:

<a href="#" onclick="return false" onmousedown="javascript:swapContent(" profilepage','','1005497360');'=""> 

任何人都可以破解这一个吗?我在这里是一个业余爱好者。 (哦!顺便说一句,这是一个while循环,所以它必须回显出来)

+1

这似乎是你有一个更根本问题。你为什么不试试模板引擎? – Hassan 2012-07-27 18:48:04

+1

当你遇到真正的悖论时,你会做什么? – Smandoli 2012-07-27 18:54:14

+1

我从来没有打算让你失望,我是这里的初学者,只是想获得一些经验。对不起 – 2012-07-28 21:31:50

回答

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; 
0

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

此外,而不是在PHP中您可以使用HEREDOC报价:

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;