如果函数将HTML标记放在PHP中

时间:2015-02-10 11:38:08

标签: php drupal

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>';
  }

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

4 个答案:

答案 0 :(得分:1)

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

关闭并重新打开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(如果将其存储为变量而不是打印)

答案 1 :(得分:0)

 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>';
}

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

只需使用&#34; print&#34;再次或&#34;回声&#34; :

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>';