【问题标题】:here document with HTML not identifying delimiter [closed]此处带有 HTML 的文档未识别分隔符 [关闭]
【发布时间】:2018-02-09 23:03:11
【问题描述】:

当此处的文档中有 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; ?>

【问题讨论】:

  • &lt;? php 中的空格是错误的。其余的看起来不错。
  • 调试这些问题的一个好方法是在浏览器中查看源代码。你会在那里看到你的 PHP,因为 web 服务器还没有处理它。

标签: php html heredoc


【解决方案1】:

您的 PHP 在顶部确实有错误的语法:&lt;? php。那里应该没有空间。不用这样做,您可以使用 PHP echo HTML 内容;或者您可以关闭 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 存储在一个变量中并“回显该变量”。

【讨论】:

    猜你喜欢
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多