简明现代魔法 -> PHP服务器脚本 -> PHP用heredoc输出大段HTML

PHP用heredoc输出大段HTML

2010-07-07

今天在做东西的时候用到了大文本块,以及需要动态进行解释,想起来用了HereDoc表示。编译器一直报错,反复检查了都没有错误为什么呢?

<?php
if ( isset($_SESSION['user']) )  
{ 
echo <<< eod
<div class="left">
	<dl class="style2"> 
    	<dt class="top0">1</dt>
        <dt class="top0">2</dt>
        <dt class="top0">3</dt>
        <dt class="top0">4</dt>
        <dt class="top0">5</dt>
        <dt class="top0">6</dt>
	</dl>
</div>
eod;
}
else 
{
echo <<< eod2
<div style="text-indent:2em; margin-top:10px">您还没有登录,请登录后再进行表格相关操作。</div>
eod2;
}

?>

后来才发现,原来在 echo <<< eod 这一行后面多了几个空格。

很重要的一点必须指出,结束标识符所在的行不能包含任何其它字符,可能除了一个分号(;)之外。这尤其意味着该标识符不能被缩进,而且在分号之前和之后都不能有任何空格或制表符。同样重要的是要意识到在结束标识符之前的第一个字符必须是你的操作系统中定义的换行符。例如在 Macintosh 系统中是 \r。

如果破坏了这条规则使得结束标识符不“干净”,则它不会被视为结束标识符,PHP 将继续寻找下去。如果在这种情况下找不到合适的结束标识符,将会导致一个在脚本最后一行出现的语法错误。

<<< 可以让我们在PHP代码内实现一大段的HTML代码,并且可以在其中,使用PHP变量。

它叫文档句法,又称定界符。它的语法是"<<<"。用法是在其后提供一个标识符,然后在标识符后提供字符串,再在字符串后提供此标识符来结尾。注意,这里用的标志符是EOD,结束的那个标志要顶头写,不能有缩进和空格.

随机文章推荐
网站分类


注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。

进入新博客
喜欢本文,就分享它吧
给我留言
您的名字:
您的邮件:
您的网站:


 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们