HTML实体的妙用03-03
PHP字符串的定义方式有三种:常用的''和""这两种,但是在定较长字符串或者比较复杂的字符串时候,需要使用定界符定义。
偶尔在使用定界符定义字符串时,出现了异常:
echo $str = <<<STR
当A>B,
C<D时,
太阳就会重新升起
STR;
实际的输出结果是:当A>B, C
分析:
‘<’和后面的内容没有了,然后查看网页源代码,如图:
可以看出来没有输出的代码其实浏览器也标红了,说明这是一种错误。那我们在从heredoc用法说起吧:
以上面代码为例,以<<<开头,STR为自定义名称,并以同样的名称结尾,注意STR结尾时,要独占一行,顶头书写,不能有空格。
在定界符内,单双引号正常使用,变量能够正常解析,但是函数是不可以正常使用的。
heredoc中的html代码正常解析,例如:
<<<HTM
测试代码!
HTM;
运行在页面中显示:测试代码。标签是不显示的,说明正常解析了。
所以呢,刚开始的异常就有答案了,'<'被浏览器识别为html标签的开始,而向后查询时没有结束的一半了,所以会一直到页面的最后,于是显示异常。
解决这种的方法,相信你也想到了,就是把‘<’用实体符号'<;'代替,就会正常显示字符串了。
相关文章:
,请先登录查看所有评论- PHP代码中的一句话木马 2015-03-03
- PCRE(正则表达式)匹配中文最权威汇总 2015-02-11
- 重新认识PHP中的POST 2015-01-29
- ThinkPHP 伪静态配置(Apache+IIS)(二) 2014-12-10
- ThinkPHP 伪静态配置(Apache+IIS)(一) 2014-12-06
网友评论已关闭