Портфоліо
Розробляємо інтернет-магазини, CRM системи, SaaS, APP платформи — впроваджуємо AI у процеси та рішення.
Client Logo
Icon 5.0
+150 клієнтів
Новий проєкт
Project Image
Технології
Розробляємо інтернет-магазини, CRM системи, SaaS, APP платформи — впроваджуємо AI у процеси та рішення.
Client Logo
Icon 5.0
+150 клієнтів
Новий проєкт
Project Image
15.10.2025

Як видалити BOM з файлу UTF за допомогою PHP

Blog Image

UTF-8 (від англ. Unicode Transformation Format, 8-bit – «формат перетворення Юнікоду, 8-бітний»)

– поширене кодування символів Юнікоду, сумісна з 8-бітними форматами передачі тексту. Знайшло широке застосування в операційних системах і веб-просторі.

Багато програм Windows (включаючи Блокнот) додають байти EF16, BB16, BF16 на початку будь-якого документа, що зберігається як UTF-8. Це мітка порядку байтів (англ. Byte Order Mark, BOM), також її часто називають сигнатурою (відповідно, UTF-8 та UTF-8 with Signature). За наявності сигнатури програми можуть автоматично визначити, чи є файл закодованим в UTF-8, проте файли з такою сигнатурою можуть некоректно оброблятися старими програмами, зокрема xml-аналізаторами.

<?php
/*
 * змінна $text - вихідний текст
 */
function removeBOM($text="") {
    if(substr($text, 0, 3) == pack('CCC', 0xef, 0xbb, 0xbf)) {
        $text= substr($text, 3);
    }
    return $text;
}
/*
* file.php - файл, в якому потрібно видалити BOM
*/
$text=file_get_contents('file.php');
$text_without_bom = removeBOM($text);
?>

Тепер в змінній $text_without_bom у нас текст без BOM. Його можна записати назад в файл або робити далі будь-які потрібні дії.

Давайте
рухати
світ
разом
стати клієнтом
Redstone Icon
Зателефонувати
Менеджер REDSTONE
Play Muted Unmuted Link Drag