其实定界符在php中的应用还是挺好的,比如大名鼎鼎的Phpwind就是用了定界符。我在做项目的时候也用到,感觉可以利用它将代码和页面进行基本的分离。不过也得特别小心,很容易出错。下面引用某网络上的文章说明下定界符的使用及应该注意的地方。
定界符
另一种给字符串定界的方法使用定界符语法(“<<<”)。应该在 <<< 之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。
结束标识符必须从行的第一列开始。同样,标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。
警告
很重要的一点必须指出,结束标识符所在的行不能包含任何其它字符,可能除了一个分号(;)之外。这尤其意味着该标识符不能被缩进,而且在分号之前和之后都不能有任何空格或制表符。同样重要的是要意识到在结束标识符之前的第一个字符必须是你的操作系统中定义的换行符。例如在 Macintosh 系统中是 \r。
如果破坏了这条规则使得结束标识符不“干净”,则它不会被视为结束标识符,PHP 将继续寻找下去。如果在这种情况下找不到合适的结束标识符,将会导致一个在脚本最后一行出现的语法错误。
不能用定界符语法初始化类成员。用其它字符串语法替代。 例子 11-3. 非法的例子
<?php
class foo {
public $bar = <<<EOT
bar
EOT;
}
?>
定界符文本表现的就和双引号字符串一样,只是没有双引号。这意味着在定界符文本中不需要转义引号,不过仍然可以用以上列出来的转义代码。变量会被展开,但当在定界符文本中表达复杂变量时和字符串一样同样也要注意。 例子 11-4. 定界符字符串例子
<?php
$str = <<<EOT
Example of string
spanning multiple lines
using heredoc syntax.
EOT;
/* More complex example, with variables. */
class foo
{
var $foo;
var $bar;
function foo()
{
$this->foo = 'Foo';
$this->bar = array('Bar1', 'Bar2', 'Bar3');
}
}
$foo = new foo();
$name = 'MyName';
echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>
注: 定界符支持是 PHP 4 中加入的。
如何在php中输出html代码(EOT)
<?php
echo <<< EOT
<table width=80% border="2" cellpadding="3" cellspacing="0" bordercolor="#808080">
<tr bgcolor="#84A9E1">
<td align="center">ClassID</td>
<td align="center">stuno</td>
<td align="center">学生姓名</td>
<td align="center">家长姓名</td>
<td align="center">家长手机号</td>
</tr>
EOT;
?>
总结
定界符“<<<”的后面紧接着的是定界标识符。标识符由字母、数字或下划线构成,并且不能以数字开始。结尾的标识符必须定格书写,其前不能有任何其他字符。通常的错误是将结尾的定界标识符进行缩进。定界符中的变量可以被解析,可以使用转义字符,但不必转义引号。当需要定义或输出大量的文本时,使用定界符显得尤为方便。
官方参考手册相关内容:http://www.php.net/manual/zh/language.types.string.php
刚开始看书上的 EOT ,EOD 以为有什么区别,结果我试了下,随便写。前后对应,符合标识符的命名规则就行。eg.
<<<abc
.......
abc
分享到:
相关推荐
…… Eof; 因为PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况 如果用传统的输出方法——按字符串输出的话,肯定要有...1.PHP定界符的作用就是按照原样,包括换行格式
定界符 另一种给字符串定界的方法使用定界符语法(“<<<”)。应该在 <<< 之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。
本文主要介绍了php四种定界符,具有很好的参考价值,下面跟着小编一起来看下吧
php界定符就是为了照样输出内容。它的格式如下: 复制代码 代码如下: $str = << ”1″>第一项 </select> ...使用php定界符技巧总结: 1.结尾,如上例jb51;必须另起一行,否则出现错误。 2.定界符
错误代码:Parse error: syntax error, unexpected $end in H:\wamp\www\testing\test\2.1.4.php on line 16 错误源代码: 复制... //为定界符定义使用的变量 $name = ‘爱因斯坦’; $dicta = “想象力比知识更重要,因
本节内容我们将介绍PHP中正则 表达式的基础语法:定界符和原子。内容包含了定界符的定义以及原子的定义和构成等等。其中原子的构成十分灵活,以便满足我们对处理字符串的需求。在这之 前,我们需要先了解一个正则...
主要介绍了php定界符<<<使用技巧和实例,讲解了定界符的功能和使用注意事项等,需要的朋友可以参考下
定界符Perl 兼容模式的正则表达式函数,其正则表达式需要写在定界符中。任何不是字母、数字或反斜线()的字符都可以作为定界符,通常我们使用 / 作为定界符。具体使用见下面的例子。提示尽管正
PHP语法基础是PHP开发的基础,PHP代码嵌在页面中的定界符是<?php.php…?>,可并列多次出现,但是不能嵌套使用。在PHP中,需要设置编码类型,以解决汉字乱码问题,可以使用header("Content-Type: text/html;charset=...
PHP引擎会自动认别并处理页面中所有位于PHP定界符之时的代码 PHP)脚本语言的语法结构与C语言和Perl语言的语法风格非常相似。用户在使用变量前不需要对变量进行声明。使用PHP动建数块的过程也非常种简 PHP还具有...
网络上email.class.php在PHP5下经常报错,修改了,亲测可用,环境阿里云PHP PHP 5.3 ereg() "Function ereg() is deprecated ... 定界符不能是字母数字或反斜线,前后增加后"~",例如"~http://*[^\"]*\.html[^\"]*~
Golang字符串操作帮助程序包 在Stringy软件包的帮助下,将字符串转换为驼峰式案例,蛇形案例,烤肉串案例/ slugify,自定义定界符,填充字符串,挑逗字符串和许多其他功能。 您可以将骆驼皮转换为蛇皮或kebabcase,...