如何从文件的开头删除?

如何从文件的开头删除?

我有一个CSS文件,当我使用盖迪特,但是当PHP读取它(将所有CSS文件合并为一个)时,这个CSS具有以下字符:

PHP删除了所有的空格,所以代码中间的随机代码就会把整件事情搞砸。正如我提到的,当我在Gedit中打开文件时,实际上看不到这些字符,所以我不能很容易地删除它们。

我搜索了这个问题,文件编码显然有问题,这是有意义的,因为我一直在通过ftp和windows服务器将文件转移到不同的Linux/Windows服务器。rsync,具有一系列文本编辑器。虽然我对字符编码不太了解,所以我会很感激你的帮助。

如果有帮助,文件将以UTF-8格式保存,Gedit不允许我将其保存为ISO-8859-15格式(文档包含一个或多个不能使用指定字符编码的字符)。我试着用Windows和Linux行尾保存它,但都没有帮助。


富国沪深
浏览 462回答 3
3回答

ibeautiful

在……里面PHP,您可以执行以下操作以删除所有非字符(包括有关字符)。$response = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $response);

暮色呼如

对于那些拥有shell访问权限的人,这里有一个小命令来查找在public_html目录中设置了BOM的所有文件-确保将其更改为服务器上正确的路径代码:grep -rl $'\xEF\xBB\xBF' /home/username/public_html如果你对六编辑器,在vi中打开文件:vi /path-to-file-name/file.php并输入删除BOM的命令:set nobomb保存文件:wq

开心每一天1111

三个字给你:字节顺序标记(BOM)这是ISO-8859-1中UTF-8 BOM的表示形式.您必须告诉您的编辑器不要使用BOM,或者使用不同的编辑器来删除它们。要自动删除BOM,可以使用awk如图所示这个问题.如另一个答案是,最好是PHP实际正确地解释BOM,因为您可以使用mb_internal_encoding(),就像这样:&nbsp;<?php&nbsp;&nbsp;&nbsp;//Storing&nbsp;the&nbsp;previous&nbsp;encoding&nbsp;in&nbsp;case&nbsp;you&nbsp;have&nbsp;some&nbsp;other&nbsp;piece&nbsp; &nbsp;&nbsp;&nbsp;//of&nbsp;code&nbsp;sensitive&nbsp;to&nbsp;encoding&nbsp;and&nbsp;counting&nbsp;on&nbsp;the&nbsp;default&nbsp;value.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;$previous_encoding&nbsp;=&nbsp;mb_internal_encoding(); &nbsp;&nbsp;&nbsp;//Set&nbsp;the&nbsp;encoding&nbsp;to&nbsp;UTF-8,&nbsp;so&nbsp;when&nbsp;reading&nbsp;files&nbsp;it&nbsp;ignores&nbsp;the&nbsp;BOM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;mb_internal_encoding('UTF-8'); &nbsp;&nbsp;&nbsp;//Process&nbsp;the&nbsp;CSS&nbsp;files... &nbsp;&nbsp;&nbsp;//Finally,&nbsp;return&nbsp;to&nbsp;the&nbsp;previous&nbsp;encoding &nbsp;&nbsp;&nbsp;mb_internal_encoding($previous_encoding); &nbsp;&nbsp;&nbsp;//Rest&nbsp;of&nbsp;the&nbsp;code... &nbsp;&nbsp;?>
打开App,查看更多内容
随时随地看视频慕课网APP