嵌入式PHP,不能停止吗?

嵌入式PHP,不能停止吗?,php,html,css,embedding,Php,Html,Css,Embedding,我现在有点困惑。我有以下代码: <?php $this->head( ?> <style type="text/css"> .error { background-color: #ccc; border: 1px solid #999; padding: 10px; width: 500px; } </style>

我现在有点困惑。我有以下代码:

<?php $this->head( ?>
    <style type="text/css">
        .error {
            background-color: #ccc;
            border: 1px solid #999;
            padding: 10px;
            width: 500px;
        }
    </style>
<?php ); ?>

我很确定你能做到。这非常类似于:

<?php if (true) { ?>
    Hei
<?php } ?>
事实上,出现了一个错误:

分析错误:语法错误,意外的“;”,第1行(代码第1行)的file.php中应为“')


如何更好地修复它?

如果您试图将html作为变量传递,请使用herdoc

$var = <<<HTML
  <style type="text/css">
    .error {
      background-color: #ccc;
      border: 1px solid #999;
      padding: 10px;
      width: 500px;
    }
  </style>
HTML;

$this->head($var);

$var=如果试图将html作为变量传递,则使用herdoc

$var = <<<HTML
  <style type="text/css">
    .error {
      background-color: #ccc;
      border: 1px solid #999;
      padding: 10px;
      width: 500px;
    }
  </style>
HTML;

$this->head($var);

$var=您可以在php中使用语法。

您可以在php中使用语法。

对多行文本使用HEREDOC

<?php
$style = <<<EOS

     <style type="text/css">
         .error {
             background-color: #ccc;
             border: 1px solid #999;
             padding: 10px;
             width: 500px;
         }
     </style>
EOS;
$this->head($style);
?>

对多行文本使用HEREDOC

<?php
$style = <<<EOS

     <style type="text/css">
         .error {
             background-color: #ccc;
             border: 1px solid #999;
             padding: 10px;
             width: 500px;
         }
     </style>
EOS;
$this->head($style);
?>


您是否启用了PHP短标记?您想实现什么?这应该是一个条件语句,还是您正试图为$this->head赋值?您是否启用了PHP短标记?您试图实现什么?这应该是一个条件语句,还是你想给$this->head赋值?@Briedis,有什么理由避免使用herdoc吗?我很确定我在什么地方读到过埃雷多克是邪恶的或是什么。。。这是对的,还是我可以毫无线索地使用它?事实上,我在实际项目中没有使用过herdoc,我只是在尝试使用它时记不起语法,而是使用引号:)我不知道这是邪恶的,但有一些缺点。编辑:做了一些挖掘,这里有一些关于埃雷多克的主要问题是如何关闭它们。文档结尾字符之前不能有字符,这些字符必须在自己的行中(包括空格)。因此,如果您的IDE进行了自动制表,那么在删除额外的制表符之前,您将得到一个语法错误。您的编辑器支持HEREDOC吗?如果您使用它,许多代码将无法正常工作,代码高亮显示也无法正常工作。没有真正的理由避免使用Heredoc,它只是不经常用于普通字符串,正如dnagirl所说,结尾标记是tempermental。它最好正好用于这个目的,用来保存较大的文本块或HTML。@Briedis,有什么理由避免使用HEREDOC吗?我很确定我在什么地方读到过埃雷多克是邪恶的或是什么。。。这是对的,还是我可以毫无线索地使用它?事实上,我在实际项目中没有使用过herdoc,我只是在尝试使用它时记不起语法,而是使用引号:)我不知道这是邪恶的,但有一些缺点。编辑:做了一些挖掘,这里有一些关于埃雷多克的主要问题是如何关闭它们。文档结尾字符之前不能有字符,这些字符必须在自己的行中(包括空格)。因此,如果您的IDE进行了自动制表,那么在删除额外的制表符之前,您将得到一个语法错误。您的编辑器支持HEREDOC吗?如果您使用它,许多代码将无法正常工作,代码高亮显示也无法正常工作。没有真正的理由避免使用Heredoc,它只是不经常用于普通字符串,正如dnagirl所说,结尾标记是tempermental。它最好正好用于此目的,用于保存较大的文本块或HTML。