2016-07-06 6 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

haha​​前にそれを試してみましたが、違法な内容のエラーが出ていましたが、調整した後にうまくいきました!どうもありがとう。もしあなたがこの質問への答えを書くことができますし、それを受け入れることができます。 – 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>'; 
関連する問題