gpt4 book ai didi

php - 如何从文件开头删除?

转载 作者:IT老高 更新时间:2023-10-28 11:44:37 28 4
gpt4 key购买 nike

我有一个 CSS 文件,当我使用 gedit 打开它时看起来不错, 但是当它被 PHP 读取时(将所有 CSS 文件合并为一个),这个 CSS 前面有以下字符:

PHP 会删除所有空格,因此代码中间的随机  会弄乱整个代码。正如我所提到的,当我在 gedit 中打开文件时,我实际上看不到这些字符,所以我不能很容易地删除它们。

我用谷歌搜索了这个问题,文件编码显然有问题,这是有道理的,因为我一直在通过 ftp 和 rsync 将文件转移到不同的 Linux/Windows 服务器上,带有一系列文本编辑器。不过,我对字符编码知之甚少,因此不胜感激。

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

最佳答案

给你三个字:

Byte Order Mark (BOM)

这是 ISO-8859-1 中 UTF-8 BOM 的表示。您必须告诉您的编辑不要使用 BOM 或使用其他编辑器将其删除。

要自动删除 BOM,您可以使用 awk,如 this question 所示。 .

作为 another answer says ,最好是让 PHP 正确解释 BOM,为此您可以使用 mb_internal_encoding() ,像这样:

 <?php
//Storing the previous encoding in case you have some other piece
//of code sensitive to encoding and counting on the default value.
$previous_encoding = mb_internal_encoding();

//Set the encoding to UTF-8, so when reading files it ignores the BOM
mb_internal_encoding('UTF-8');

//Process the CSS files...

//Finally, return to the previous encoding
mb_internal_encoding($previous_encoding);

//Rest of the code...
?>

关于php - 如何从文件开头删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3255993/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com