PHP定界符使用技巧

为什么要使用定界符 : 因为PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特殊字符进行转义,以免出现语法错误。如果是一两处还可以容忍,但是要是一个完整的html文本或者是一个200行的js我想是谁都会崩溃的。这就是PHP为什么要引入一个定界符的原因——至少一大部分原因是这样的。

1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;
2.在PHP定界符中的任何特殊字符都不需要转义;
3.PHP定界符中的PHP变量会被正常的用其值来替换。
PHP中的定界符格式是这样的:

代码如下:

<<<Eof
……
Eof;

看起来很简单,但是其中有许多地方需要注意。
首先在<<<之后的字符Eof是自己定义的,随便什么都是可以的(比如AAA都可以),但是结尾处的字符一定要和他一样,他们是成对出现的,就像{}这样的——这是最基本的。
在PHP定界符使用的过程中,第二个需要注意的问题——也是最经常出现问题的地方:
结尾的一行(如上例的Eof;),一定要另起一行,并且改行除了Eof;这个定界符结尾标识之外不能有任何其他字符,前后都不能有,包括空格。如果在本行最前或者最后出现空格,制表符的话,你会收到一个这样的错误信息:
Parse error: parse error, unexpected $end in……,提示你语法错误;
第三个需要注意的是,如果在定界符中间出现有PHP的变量,你只需要像在其它字符串中输出一样写就行了,例如

代码如下:

<<<Eof
hello{$name}
Eof;

变量$name之所以要用{}括起来是要告诉PHP解析器这是一个PHP变量,其实不用也是可以的,但是有可能会产生歧义,例如你的变量后面刚好不是一字母或者特殊符号什么的会怎么样呢?千万不能有这样的写法

代码如下:

<<<Eof
hello<?php echo $name?>
Eof;

这样的情况,你同样会收到一个语法错误的信息。先便是一个战地测试过的PHP定界符的正确写法。里面包含了,html和javascript的代码:

代码如下:

<?php
$name = ‘kitty‘;
echo <<<Eof
<table height="20">
<tr><td>
{$name}<br/>
<script>
var p=‘hello world‘;
document.writeln(p);
</script>
</td></tr>
</table>
Eof;
?>

时间: 2024-08-26 23:59:36

PHP定界符使用技巧的相关文章

php定界符&lt;&lt;&lt;使用方法与技巧

php定界符<<<使用方法与技巧 分享下php定界符<<<使用技巧和实例,讲解了定界符的功能和使用注意事项等. php界定符就是为了照样输出内容.格式如下:$str = <<< EOF Here is your string ......EOF;其中EOF是自定义的变量,但要成对出现! 例子: <?php $a = "www.jbxue.com"; print <<< jbxue <select>

前端构建工具gulpjs的使用介绍及技巧

gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速度更快.如果你还没有使用过前端构建工具,或者觉得gruntjs太难用的话,那就尝试一下gulp吧. 本文导航: gulp的安装 开始使用gulp gulp的API介绍 一些常用的gulp插件 1.gulp的安装 首先确保你已经正确安装了nodejs环境.然后以全局方式安装gulp: npm inst

Shell使用技巧

巧用定界符delimiter 输入大段文本的地方 自动选择和输入的地方 访问数据库 [email protected] ~ $ cat > out.txt << EOF > 123jl4 > 1 > 2 > 3 > o > EOF 工具使用技巧 唯一标识 date:使用date命令作为文件名创建日志文件. $$:用进程号创建唯一临时文件. 发送信号 信号 信号名 含义 0 EXIT 退出信号(使用exit.Ctrl-D可以发出) 1 SIGHUP 挂起

前端构建工具gulpjs的使用介绍及技巧(转载)

本文转载自无双 ,原文地址 http://www.cnblogs.com/2050/p/4198792.html. 感谢原博主的辛苦总结. gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速度更快.如果你还没有使用过前端构建工具,或者觉得gruntjs太难用的话,那就尝试一下gulp吧. 本文导航: gulp的安装 开始使用gulp gulp的AP

最佳vim技巧

最佳vim技巧----------------------------------------# 信息来源----------------------------------------www.vim.org         : 官方站点comp.editors        : 新闻组http://www.newriders.com/books/opl/ebooks/0735710015.html : Vim书籍http://vimdoc.sourceforge.net/cgi-bin/vim

《Vim实用技巧》笔记

Vim实用技巧 Table of Contents 1. Vim决问题的方式 2. 普通模式 3. 插入模式 4. 可视模式 5. 命令行模式 5.1. 操作文本的Ex命令 5.2. range服务说明 5.3. 补全 5.4. 命令行窗口–使用vim的编辑能力编辑Ex命令 5.5. 执行外部命令 6. 管理多个文件 6.1. 缓冲区列表管理 6.2. 参数列表 6.3. 窗口操作 6.4. 标签页操作 7. 打开及保存文件 7.1. 打开文件 7.2. 使用find查找文件 7.3. 使用ne

gulpjs的使用介绍及技巧

gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速度更快.如果你还没有使用过前端构建工具,或者觉得gruntjs太难用的话,那就尝试一下gulp吧 本文导航: gulp的安装 开始使用gulp gulp的API介绍 一些常用的gulp插件 1.gulp的安装 首先确保你已经正确安装了nodejs环境.然后以全局方式安装gulp: npm insta

[转载]前端构建工具gulpjs的使用介绍及技巧

转载地址:http://www.cnblogs.com/2050/p/4198792.html gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速度更快.如果你还没有使用过前端构建工具,或者觉得gruntjs太难用的话,那就尝试一下gulp吧. 本文导航: gulp的安装 开始使用gulp gulp的API介绍 一些常用的gulp插件 1.gulp

java split(regex)和split(regex, limit)方法的使用技巧

在java字符串方法中有一个非常好用的方法split(),该方法可以把字符串直接分割为数组此方法有两个重载. 一是:split(regex),参数为要分隔的字符串或者正则表达式. 二是:ss.split(regex, limit).此方法可以的第二个参数一般不太常用, 这两个方法api给的解释是:limit 参数控制模式应用的次数,因此影响所得数组的长度.如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入