可以这样做 - 用一个PHP标签打开一个变量,然后关闭PHP标签,但保持变量打开,这样下面的所有内容都变成了变量的值?或者PHP变量大小/字符是否有限制?
<?php $content = " ?>
a bunch of content goes here <br />
with lots of HTML tags and JS scripts
<?php "; ?>
答案 0 :(得分:6)
$content = <<< 'HTML'
a bunch of content goes here <br />
with lots of HTML tags and JS scripts
HTML;
或output buffering,例如
<?php ob_start(); ?>
foo
<?php
$var = ob_get_clean();
var_dump($var); // will contain foo and surrounding whitespace
答案 1 :(得分:6)
不,但你可以用heredoc
做一些$content = <<< END
some content here<br/>
<script type="text/javascript">
alert('hi');
</script>
END;
答案 2 :(得分:4)
您的代码所做的是在变量?>
中存储以<?php
开头并以$content
结尾的字符串。那可能不是你想做的?如果你以后回复这样的字符串,你很可能会因为这些php标签而出错。
正如其他答案所述,heredoc将是一个解决方案,但一般来说,你应该尽量避免这种情况,你必须在变量中存储很长的html序列。而是使用视图文件并在那里注入一些动态内容或使用某种包含。
所以,根据你真正想做的事情,你的选择是:
$content = "<html>markup here</html>";
答案 3 :(得分:3)
阅读HEREDOC语法:http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
答案 4 :(得分:1)
$content = 'large amount of text';
或
$content = 'text';
$content .= 'other text';
$content .= 'end text';
答案 5 :(得分:0)
尝试:
<?php ob_start (); ?>
.... html
<?
$content = ob_get_clean ();
?>
答案 6 :(得分:0)
是的,你可以做到。
双引号内的结束标记:" ?>"
将不会被特别处理。它们只是字符串内容。
PHP变量大小/字符是否有限制?
没有。你可以尽可能多地填充变量,直到你的记忆已满。