PHP XML声明导致编译器颜色编码错误

时间:2016-07-06 17:23:17

标签: php xml color-coding

您好我目前正在使用Microsoft Webmatrix,每当我执行XML声明时,我的编译器都会将其与标记混淆,导致我的所有其余PHP代码全部为黑色而不是颜色编码,也是我的所有HTML米色,好像是文字。这成为一个大问题,因为我的网页变得非常笨重,而且它的可读性是绝对的噩梦。

xml声明的示例:

<?php
    $ThisvariableisNOTblack = "good";

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

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

是否有这种XML声明风格的替代方案?

1 个答案:

答案 0 :(得分: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>';