微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法将常规的 HTML/CSS/JS 保存为 php 变量?

如何解决有没有办法将常规的 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 举报,一经查实,本站将立刻删除。