将 HTML 标记放入 PHP if 函数

Put HTML markup in PHP if function

PHP:

  if (isset($form['preview_message'])) {

    print drupal_render($form['preview_message']);
    print '</div>';
  }

我想要这样:

 if (isset($form['preview_message'])) {
      <div class="slide-nav">
            <a href="#"><span id="prev"></span></a>
            <a href="#"><span id="next"></span></a>

        </div>
    print drupal_render($form['preview_message']);
    print '</div>';
  }

我试过了,但有语法问题。我该如何解决?

 if (isset($form['preview_message'])) {
   ?>
    <div class="slide-nav">
        <a href="#"><span id="prev"></span></a>
        <a href="#"><span id="next"></span></a>

    </div>
   <?php
print drupal_render($form['preview_message']);
print '</div>';
}

如果是,请标记为答案,谢谢。

好吧,您正在使用 print 打印结束,也许您也应该尝试在我们脚本中的其他 html 输出?

您需要执行以下操作之一:

关闭并重新打开您的 PHP 标签

if (isset($form['preview_message'])) {
    ?>
    <div class="slide-nav">
        <a href="#"><span id="prev"></span></a>
        <a href="#"><span id="next"></span></a>

    </div>
    <?php
    print drupal_render($form['preview_message']);
    print '</div>';
}

用PHP

打印你的HTML
if (isset($form['preview_message'])) {

    print '<div class="slide-nav">
        <a href="#"><span id="prev"></span></a>
        <a href="#"><span id="next"></span></a>

    </div>';

    print drupal_render($form['preview_message']);
    print '</div>';
}

使用输出缓冲区存储你的HTML并用PHP

打印
if (isset($form['preview_message'])) {

    ob_start();
    ?>
    <div class="slide-nav">
        <a href="#"><span id="prev"></span></a>
        <a href="#"><span id="next"></span></a>

    </div>
    <?php
    print ob_get_clean();

    print drupal_render($form['preview_message']);
    print '</div>';
}

第一个选项最适合您

你选择的选项取决于你的编码风格,我个人更喜欢在 PHP 之外打印 HTML,因为我认为它在进行更改时更具可读性,但使用输出缓冲区有如果您在多个地方重新使用 HTML(如果您将其存储为变量而不是打印)

,它的优势

或者再次使用 "print" 或 "echo" :

echo '
    <div class="slide-nav">
        <a href="#"><span id="prev"></span></a>
        <a href="#"><span id="next"></span></a>

    </div>';
echo drupal_render($form['preview_message']);
echo  '</div>';