这里的文件 HTML 没有识别定界符

here document with HTML not identifying delimiter

当 here 文档中有 HTML 时应该发生什么? 它不应该只存储为字符串吗? 此屏幕中的 HTML 显示在屏幕上,代码的定界符 "HTMLBLOCK;" 部分也显示在屏幕上。怎么回事?

<? php
<<<HTMLBLOCK
<html>
<head><title>Menu</title></head>
<body bgcolor="#fffed9">
<h1>Dinner</h1>
<ul>
<li>Beef Chow-Mun</li>
<li>Sauteed Pea Shoots</li>
<li>Soy Sauce Noodles</li>
</ul>
</body>
</html>
HTMLBLOCK;
?>

输出

Dinner

Beef Chow-Mun

Sauteed Pea Shoots

Soy Sauce Noodles

HTMLBLOCK; ?>

您的 PHP 顶部确实有一个语法错误:<? php。那里不应该有 space。您可以 echo HTML 内容 PHP;或者您可以关闭 PHP 并写出 PHP 然后再次打开 PHP 标签:

echo '<html>
    <head><title>Menu</title></head>
    <body bgcolor="#fffed9">
        <h1>Dinner</h1>
        <ul>
            <li>Beef Chow-Mun</li>
            <li>Sauteed Pea Shoots</li>
            <li>Soy Sauce Noodles</li>
        </ul>
    </body>
</html>';

或者您可以这样做:

<?php
// .. PHP code here .. 
?>
<html>
    <head><title>Menu</title></head>
    <body bgcolor="#fffed9">
        <h1>Dinner</h1>
        <ul>
            <li>Beef Chow-Mun</li>
            <li>Sauteed Pea Shoots</li>
            <li>Soy Sauce Noodles</li>
        </ul>
    </body>
</html>
<?php
// ..code continues..
?>

您还可以将 HTML 存储在一个变量中并`回显该变量。