如何解决有没有办法将常规的 HTML/CSS/JS 保存为 php 变量?
我对 HEREDOC 很熟悉,但这不是我想要使用的。
我希望的是一种在 PHP 文件中编辑 HTML/CSS 的方法,这样它在技术上就不是一个字符串,这样我就可以在我的文本编辑器中获得正确的 HTML/CSS/JS 提示和自动完成。当尝试在 HEREDOC 中进行编辑时,它被认为是一个字符串,所以我没有得到任何命中,这会导致很多语法错误。
像这样:(就像使用 if 语句括号)
<?PHP
$html='
?>
<style>
h4{
font-weight:700;
}
</style>
<h4>HTML</h4>
<?PHP
';
echo $html;
?>
有没有办法将 html/css 放在另一个文件中,然后将其包含在 concat 字符串中?
<?PHP
$html=''.include('html.PHP').'';
echo $html;
?>
解决方法
您可以使用 output buffering - 在这个简化示例中,您将从文件 view.php
获取 html,并将其分配给 $html
。
<?php
$html = getHtml('view.php');
echo $html;
function getHtml(string $file)
{
ob_start();
include $file;
return ob_get_clean();
}
ob_start()
打开输出缓冲
ob_get_clean()
获取当前缓冲区内容(以字符串形式返回)并删除当前输出缓冲区
就 PHP 而言,HTML 和 JS 只是文本,因此您可以像存储任何字符串一样将它们存储在 PHP 变量中。
$html = '<style>
h4{
font-weight:700;
}
</style>
<h4>HTML</h4>';
要将单独文件中的 HTML 加载到变量中,您将如何执行取决于文件。如果其中包含需要执行的 PHP 代码,则按照 ISSilentInstall
property 关于 jibsteroos 的回答。
如果文件不包含任何 PHP,您可以使用 output buffering:
$html = file_get_contents('html.php');
注意:如果 html.php
包含任何 PHP,它将作为文本读取而不是被执行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。