Php 找不到重影回车/换行符
我有一个.php文件,该文件获取openssl_pkcs7签名和正则表达式文件的内容,在回传给用户下载之前进行修剪 但是,下载的文件在文件的顶部/开头有一个换行符/换行符/回车符,这将破坏我的后续代码。当我在记事本++/notepad中打开文件时,已签名和正则表达式的template.mobileconfig在文件开头没有这一空行,但通过浏览器下载时它就在那里。我对它被插入的位置感到困惑,即使在修剪之后,它仍然在那里 代码: 下载的文件在记事本/记事本++中如下所示: 第1行总是空的。我尝试readfile()和trim()来处理它,但没有任何效果 十六进制编辑器联机输出: x0A显然是一个换行符,但它来自哪里?你为什么不把它处理掉Php 找不到重影回车/换行符,php,html,regex,hexdump,hex-editors,Php,Html,Regex,Hexdump,Hex Editors,我有一个.php文件,该文件获取openssl_pkcs7签名和正则表达式文件的内容,在回传给用户下载之前进行修剪 但是,下载的文件在文件的顶部/开头有一个换行符/换行符/回车符,这将破坏我的后续代码。当我在记事本++/notepad中打开文件时,已签名和正则表达式的template.mobileconfig在文件开头没有这一空行,但通过浏览器下载时它就在那里。我对它被插入的位置感到困惑,即使在修剪之后,它仍然在那里 代码: 下载的文件在记事本/记事本++中如下所示: 第1行总是空的。我尝试r
我想到的是尝试将x0A添加到您的饰件中
$trimmed = trim($content, " \t\n\r\0\x0B\x0A");
您的
include()
s中可能有一个换行符\n
:
<?php
//code
?> <======== \n right there (not visible)
您是否在十六进制编辑器中查看了文件以查看第1行中的实际内容?还没有!谢谢你指出这一点。让我试试看我得到了什么,我会在这里更新。@ChrisR.Timmons用Hex编辑器的输出更新。x0A是一个换行符。但是它是从哪里来的呢?为什么trim没有删除它?只是猜测,但这可能是echo语句的副作用。请参阅PHP手册条目,并向下滚动至“gmail.com上的通畅77”的注释。也许将调用包装在PHP标记
中可以解决问题。您可以发布mobileconfig文件内容吗?尝试了您的方法,换行符仍然存在!太令人沮丧了:(天哪。谢谢。我浏览了所有包含的.php,发现其中一个在“?>”标记后有两行提要。将它们和标记一起删除,然后重新运行代码。问题已解决!我很高兴能帮上忙:)我强烈支持删除?>
的建议。如果代码中没有?>
,则永远不必搜索隐藏的换行符。
<?php
//code
?> <======== \n right there (not visible)
_
<?php
?>