PHP:突破 PHP 的 HTML 但返回值而不是在页面上打印?
我通过 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您可以使用输出缓冲:
或者稍微不同的方法是HEREDOC 语法:
You can use output buffering:
Or a slightly different method is HEREDOC syntax:
试试这个:(
编辑完成,但有人编辑得比我快:))
Try this:
(edit done, but one has edit faster than me :))
在我看来,您应该研究一下模板引擎,例如 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.
您可以将 html 存储在 html 文件中并将该文件读入变量中。
You could store the html in an html file and read that file into a variable.
虽然从技术上讲仍然是一个字符串,但您可能会发现有关 PHP 定界符的文档读起来很有趣:
heredoc 语法
While still technically a string, you might find the documentation on PHP's heredoc to be an entertaining read:
heredoc syntax
使用 heredoc句法。
Use heredoc syntax.