2012-07-27 1 views
-1

중첩 된 인용에 관한 문제가 있습니다 ... 실제로는 역설과 같습니다.중첩 된 인용 역설 PHP

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= 
:

그래서 이것은 내가 브라우저가 잘못 세 번째와 네 번째 수준을 해석 (I 크롬의 개발자 도구에서 볼 수있는 것에 대해) 어떻게 든 4 개 nestes 견적의 수준 등을 사용하는 코드의 조각 이 라인에서

1.3 내가 사용, 문제는 '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

+1

당신이 진짜 역설을 때 당신은 무엇을 할 것인가?! – Smandoli

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

HTML 속성에서 백 슬래시는 따옴표를 이스케이프 처리하지 않습니다. 대신 "'에 각각 &quot; 또는 &apos;을 사용해야합니다. 또한, 대신 당신은 히어 닥을 사용할 수 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;