php闭合标签害死人

php闭合标签害死人

今天调试一段很简单的php代码:无非就是echo一个字符串给javascript程序,由js程序根据字符串走不同的逻辑即可。

遇到一个问题,几乎被折磨死:js得到的字符串前面总是多了一个’\n’! 排查了apache、js、php等方方面面的问题,最后居然发现是闭合标签’?>’导致的。

在php的文档中清楚地写明:解析器实际上是不解析这个闭合标签’?>’的。但是如果使用了这个标签,则后面的空格、换行等字符都会被带入后面的引用,引起多余的输出等。

在我的遭遇中,当前php引用了另外一个php文件,那个php文件在’?>’后多了一个’\n’,这个多余的换行符就被带入到当前的php中了。

解决方法也很简单,php文件都不包含闭合标签即可。话说回来了,“闭合”的意思不就是关闭了、结束了么?php解析器的处理方式真是让人感觉莫名其妙啊。

Comments are closed.