在PHP中的变量内存储内联HTML
我想知道,主要是因为我想我以前在某个地方见过它,是否可以在变量中存储HTML,类似于以下内容(我知道这毫无意义,只是为了澄清我的问题):在PHP中的变量内存储内联HTML,php,html,variables,Php,Html,Variables,我想知道,主要是因为我想我以前在某个地方见过它,是否可以在变量中存储HTML,类似于以下内容(我知道这毫无意义,只是为了澄清我的问题): 然后,$var将等于文本在这里您可能会想到: 您可以使用输出缓冲来实现这一点。请看和中的示例 各种各样的东西,可能是一些等等。 查看XHP,这是一种允许PHP代码中包含XML文本的语言。如果可能,您应该避免这种情况。将PHP嵌入HTML而不是反之亦然。“将PHP嵌入HTML而不是反之亦然。”O RLY?@Felix Kling:为什么建议将PHP嵌入HT
然后,$var
将等于文本在这里
您可能会想到:
您可以使用输出缓冲来实现这一点。请看和中的示例
各种各样的东西,可能是一些等等。
查看XHP,这是一种允许PHP代码中包含XML文本的语言。如果可能,您应该避免这种情况。将PHP嵌入HTML而不是反之亦然。“将PHP嵌入HTML而不是反之亦然。”O RLY?@Felix Kling:为什么建议将PHP嵌入HTML而不是反之亦然?@Nightwolf:因为创建无休止的HTML字符串容易出错(例如,转义引号)。如果使用IDE,则很可能会丢失语法突出显示。诚然,使用herdoc可能没有那么糟糕,但是几乎没有理由不以“正常”的方式编写HTML,而只是echo
数据应该在哪里。这是一个更好的逻辑和表示分离。@Felix Kling,我想用它来制作新闻稿模板,它需要为我的系统配置php以及HTML模板。我希望这两个都包含在同一个php文件中,而不会丢失我的HTML语法着色。我认为这是一个很好的解决方案。请注意,这将生成字符串“\t文本在此\n\t”
。注意空格。尾随的EOD
不应该缩进,它应该在第一列。同样,这样文本前面会有空格。@Eric这是一个很好的观点。不过,自从EOD之后,我编辑了这些标签(感谢您的初次编辑-我忘了)代码>必须(AFAIR)在行的开头。@Blagovest Buyukliev是的,这是由于编辑冲突:)这就是我要找的,Herdeoc也解决了我的问题,但在Dreamweaver中将代码涂成php的颜色,这是我想要这样做的原因之一。不过还有一件事是需要的,没有ob_end_clean()代码>原始HTML仍将被输出。或者甚至您也可以使用ob_get_clean()而不是执行ob_get_contents()+ob_end_clean()
<? $var = ' ?>
text goes here
<? '; ?>
<?php
$var = <<<EOD
text goes here
EOD;
?>
<? ob_start(); ?>
All kinds of stuff, maybe some <?= "php"; ?> etc.
<? $var = ob_get_contents(); ?>