2016-07-06 128 views
1

您好我目前正在使用Microsoft Webmatrix,並且每當我做一個XML聲明時,我的編譯器會將它與標記混淆並導致我的所有PHP代碼全部變爲黑色而不是顏色編碼,所有我的HTML都是米色,就像文本一樣。這成爲一個大問題,因爲我的網頁變得非常笨重,而且它的可讀性是絕對的噩夢。 XML聲明的導致編譯器顏色編碼錯誤的PHP XML聲明

例如:

<?php 
    $ThisvariableisNOTblack = "good"; 

    $xml = <<<XML 
    *xml content* 
    XML; 

    $thisvariableisnowblack = "everything is now black below XML"; 
?> 

是否有這種風格的XML聲明的替代?

+1

用單引號代替heredoc來包圍您的XML。 –

+1

哈哈我之前嘗試過,但我得到非法內容錯誤,但經過一些調整後,它的工作!非常感謝。如果你想你可以寫回答這個問題,並接受它。 – DiscreteTomatoes

+1

不,沒關係,只有更大的答案值得。無論如何,在我說出來之前你試過了,對吧?祝你好運! –

回答

0

問題可能是HEREDOC語法中的關閉XML;。它必須在行的開始,不允許縮進。

如果它不在開始HEREDOC元素不會結束。如果WebMatrix識別XML,則在結束標記之後它的內容是無效內容。另外HEREDOC允許變量(如雙引號中的字符串)。

在大多數情況下,NOWDOC是一個更好的解決方案:

<?php 

$xml = <<<'XML' 
<some> 
    <xml/> 
</some> 
XML; 

另外PHP字符串可以跨越多行。您可以爲您的XML使用單引號字符串。當然,在這種情況下,您將不得不在字符串中轉義單引號和反斜槓。

$xml = 
    '<some> 
    <xml>with a single quote \' and a backslash \\</xml> 
    </some>';