从PHP函数返回HTML

时间:2014-10-24 10:02:04

标签: php html string

我有一个PHP函数,我用它来输出标准的HTML块

 <?php function test () { ?>
 echo(" <html>
    <body><h1> HELLO </h1> </body>
</html>
<?php } ?>

但我看到的是HTML字符串,而不是页面 我看到了这个 Is there any way to return HTML in a PHP function? (without building the return value as a string)

6 个答案:

答案 0 :(得分:3)

如果您使用SLIM框架更改内容类型:

$app->contentType('application/json');

为:

$app->contentType('text/html');

然后使用特定模板的slim实例的渲染功能或简单地回显html字符串

答案 1 :(得分:1)

试试这个:

<?php 
function test () 
    { 
      echo '<html><body><h1> HELLO </h1> </body></html>' ;
    } 

?>

答案 2 :(得分:1)

你必须这样做

<?php

function text() {
    echo '<html><body><h1>Hello</h1></body></html>';
}

?>

但另外这不是页面的基本有效结构。您错过了<head />代码。

答案 3 :(得分:1)

试试这个:

<?php

function text() {
    return '<html><body><h1>Hello</h1></body></html>';
}

?>

以及你需要的地方:

<?php echo text(); ?>

答案 4 :(得分:0)

试试这个:

<?php

    function test()
    {
       $html = '<html>';
       $html .= '<body>';
       $html .= '<h1>Hello</h1>';
       $html .= '</body>';
       $html .= '</html>';

       echo $html;
         //or
       return $html;
    }
?>

答案 5 :(得分:0)

在PHP中你有一个名为heredoc的东西,它允许你从PHP中编写大量的文本,但不需要经常逃避。语法为<<<EOT [text here] EOT;

所以在你的情况下你可以让函数返回像这样的文本

function test() {
    return <<<EOT
        <html>
            <body><h1>HELLO</h1></body>
        </html>
    EOT;
 }

然后只需调用功能测试来获取内容

echo test();