PHP:突破 PHP 的 HTML 但返回值而不是在页面上打印?

发布于 2024-08-07 06:27:57 字数 514 浏览 4 评论 0原文

我通过 PHP 生成了大量 HTML 代码,但我需要将其存储在变量中,而不是立即显示。但我希望能够摆脱 PHP,这样我的代码就不是一个巨大的字符串。

例如(但实际代码会大得多):

<?php
$content = '<div>
    <span>text</span>
    <a href="#">link</a>
</div>';
?>

我想做这样的事情:

<?php
$content = 
?>
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
<?php
;
?>

但我知道这不会将 html 作为值返回,它只会将其打印到文档中。

但有没有办法做到这一点呢?

谢谢!

I am generating a lot of HTML code via PHP, but I need to store it in a variable, not display it immediately. But I want to be able to break out of PHP so my code isnt a giant string.

for example (but actual code will be much larger):

<?php
$content = '<div>
    <span>text</span>
    <a href="#">link</a>
</div>';
?>

I want to do something like this:

<?php
$content = 
?>
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
<?php
;
?>

But I know this will not return the html as a value it will just print it to the document.

But is there a way to do this tho?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

倚栏听风 2024-08-14 06:27:57

您可以使用输出缓冲

<?php
ob_start();
?>
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
<?php
$content = ob_get_clean();
?>

或者稍微不同的方法是HEREDOC 语法

<?php
$content = <<<EOT
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
EOT;
?>

You can use output buffering:

<?php
ob_start();
?>
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
<?php
$content = ob_get_clean();
?>

Or a slightly different method is HEREDOC syntax:

<?php
$content = <<<EOT
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
EOT;
?>
ま柒月 2024-08-14 06:27:57

试试这个:(

<?php
$var = <<<EOD
my long string
EOD;
echo $var; 
?>

编辑完成,但有人编辑得比我快:))

Try this:

<?php
$var = <<<EOD
my long string
EOD;
echo $var; 
?>

(edit done, but one has edit faster than me :))

梦冥 2024-08-14 06:27:57

在我看来,您应该研究一下模板引擎,例如 Smarty。它可以帮助您消除将 HTML 硬编码到 PHP 文件中的一些麻烦,并且可以帮助使代码更易于管理。

In my opinion, you should look into a template engine such as Smarty. It can help you take some of the ugliness out of hardcoding HTML into the PHP file, and can help make the code more manageable.

菊凝晚露 2024-08-14 06:27:57

您可以将 html 存储在 html 文件中并将该文件读入变量中。

You could store the html in an html file and read that file into a variable.

我家小可爱 2024-08-14 06:27:57

虽然从技术上讲仍然是一个字符串,但您可能会发现有关 PHP 定界符的文档读起来很有趣:

heredoc 语法

$content = <<<EOT

<div>
    <span>text</span>
    <a href="#">link</a>
</div>

EOT;

While still technically a string, you might find the documentation on PHP's heredoc to be an entertaining read:

heredoc syntax

$content = <<<EOT

<div>
    <span>text</span>
    <a href="#">link</a>
</div>

EOT;
一瞬间的火花 2024-08-14 06:27:57

使用 heredoc句法。

Use heredoc syntax.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文