不要直接echo,先用变量包装,然后用echo包装
作为HTML字符分析!
<!--?php ?-->
这个{$xx}不是定界符,而是在某个框架内定义php变量,ThinkPHP有这样的功能,smarty框架可以理解
这是因为当使用echo输出字符串时,如果使用双引号作为字符串定界符,它会自动识别字符串中包含的变量名,并自动更换变量值,如:
echo “我的名字叫 $name";
///输出结果:我的名字叫 呵呵呵
如果使用单引号作为字符串定界符,变量名将不会自动识别,字符串将按原始输出,例如:
echo 我的名字叫 $name';
///输出结果:我的名字叫 $name
这是php的定界符<<<EOF和EOF;文本之间的文本可以不转换,如单引号和双引号
一般用于输出长html文本或文本赋值$str=<<<EOFEOF;php标准定界符。
这里的EOF是一个标记,即EOF必须以EOF结束
可以换成其他字符,没问题。php5中最常使用的定界符。
还必须注意,EOF;结尾必须有分号,EOF必须顶格,以前没有字符,包括空格。
<<<EOF
这里有一堆字符串
EOF;
用@作为定界符,正则表达式中的/符号不需要转义符。假如你把两个@定界符被替换为~作为定界符,效果是一样的。
定界符语法用于定界符的另一种方法(”<<<”)。应该在<<<然后提供一个标识符,然后是字符串,然后是相同的标识符结束字符串。标识符必须从**列开始。同样,标识符也必须遵循PHP中任何其他标签的命名规则:它只能包含字母数字的下划线,并且必须从以下划线或非数字符开始。警告必须指出,除一个分号(;)外,结束标志所在行不能包含任何其他字符。这特别意味着标识符不能缩进,分号前后也不能有空间或制表符。同样重要的是要意识到,标识符结束前的**个字符必须是您操作系统中定义的换行符。例如,在Macintosh系统中 。如果这一规则被破坏,使结束标志不“干净”,则不会被视为结束标志,PHP继续寻找。如果在这种情况下找不到合适的结束标志符,会导致脚本***行的语法错误。不能使用定义符语法初始化成员。用其他字符串语法代替。例子11-3。非法例子<?phpclassfoo{public$bar=<<<EOTbarEOT;}?>定界符文本与双引号字符串相同,但没有双引号。这意味着定界符文本中不需要转义引号,但上述转义代码仍然可以使用。变量将扩展,但在定界符文本中表达复杂变量时,也应注意字符串。例子11-4。定义符串的例子<?php$str=<<<EOTExampleofstringspanningmultiplelinesusingheredocsyntax。EOT;/*Morecomplexexample,withvariables。*/classfoo{var$foo;var$bar;functionfoo(){$this->foo='Foo';$this->bar=array('Bar1','Bar2','Bar3');}}$foo=newfoo();$name='MyName';echo<<<EOTMynameis"$name"。Iamprintingsome$foo->foo。Now,Iamprintingsome{$foo->bar[1]}。Thisshouldprintacapital'A':;?>注:定界符支持是PHP4中加入的。echo<<<EOT<tablewidth=80%border="2"cellpadding="3"cellspacing="0"bordercolor="#"><trbgcolor="#"><tdalign="center">ClassID</td><tdalign="center">stuno</td><tdalign="center">学生姓名</td>>
中企动力是一家专业的网络推广公司,我们拥有丰富的网络推广经验和专业的团队,能够为企业提供全方位的网络推广服务。我们为企业提供网站建设、网站优化、平台推广等服务,帮中企动力业在网络上提升知名度、扩大影响力、提升销售额。如果您有网络推广的需求,欢迎联系中企动力加微信:CE4006608066,我们将竭诚为您服务。