我想在php变量中包含html代码。 我记得有一种方法可以在php变量中定义html代码,类似于:
<?php $my_var = { ?>
<div>SOME HTML</div>
<?php } ?>
我在PHP.net
找到了它,但我现在找不到它。
还有其他东西而不是"{"
,但我不记得确切。
我想直接写上面的html代码,所以不喜欢这样:$my_var = '<div>SOME HTML</div>';
有什么想法吗?
答案 0 :(得分:50)
试试这个:
<?php ob_start(); ?>
<div>HTML goes here...</div>
<div>More HTML...</div>
<?php $my_var = ob_get_clean(); ?>
这样您就可以保留HTML的语法高亮显示。
答案 1 :(得分:36)
<?php
$my_var = <<<EOD
<div>SOME HTML</div>
EOD;
?>
它被称为heredoc语法。
答案 2 :(得分:8)
将HTML保存在单独的文件中:example.html.
然后将文件内容读入变量
$my_var = file_get_contents('example.html');
答案 3 :(得分:2)
如果您不关心HTML语法高亮,那么您可以定义一个普通变量。您不必转义HTML,因为PHP允许您使用单引号来定义变量,这意味着您可以在HTML代码中使用双引号。
$html = '
<p>
<b><i>Some html within a php variable</i><b>
</p>
<img src="path/to/some/boat.png" alt="This is an image of a boat">
' ;
对我而言非常适合,但我认为这是一个偏好和实施的问题。
答案 4 :(得分:2)
如果你要回应内容,那么另一种方法就是使用函数
这也有使用语法高亮的程序的附加好处。
function htmlContent(){
?>
<h1>Html Content</h1>
<?php
}
htmlContent();
?>
答案 5 :(得分:0)
要在PHP变量中定义HTML代码:
1)使用功能(参考:@ RedSparr0w)
<?php
function htmlContent(){
?>
<h1>Html Content</h1>
<?php
}
?>
2。存储在变量中
$var = htmlContent();
答案 6 :(得分:0)
如何使用这个数组,在 html 的 tr, td 部分,并将这个 html 内容分配给一个 php 变量 $data。
$student = [
'saurabh' => 26,
'John' => 20,
'Ross' => 30
];
<!DOCTYPE html>
<html>
<head>
<style>
table{
border: 1px solid black;
}
.lft {
padding: 0px 80px 10px 5px;
}
td {
border-bottom: 2px solid black;
}
</style>
</head>
<body>
<table>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
<tr>
<td>Saurabh</td>
<td>26</td>
</tr>
</table>
</body>
</html>
答案 7 :(得分:-1)
使用var中的函数添加到提到的几个答案中。我可以建议一个anonymous function。我不是php向导,所以如果我输入错了,请更正我,但是我可以想象它能像下面这样工作:
<?php
$my_var = function(){
?>
<div>SOME HTML</div>
<?php
};
// Display content
$my_var();
要进一步扩展,如果html中需要其他php内容,则可以通过几种不同的方式进行传递。
$method1 = "Title"; // Will be the same for every instance
$method2 = "default content"; // Can change for each instance
$my_var = function($unique=$method2/*set default*/) use ($method1){
?>
<h1><?php echo $prop1; ?></h1>
<div><?php echo $unique; ?></div>
<?php
};
// Display content
$my_var();
//returns
$my_var("Some unique content");
//returns