Давайте поговоримо про даної функції, а так само про причини її появи в системі бітрікс. У PHP існує вбудована функція htmlspecialchars яка призначена для перетворення спец символів у так звані html-сутності. Справа в тому, що з виходом PHP версії 5.4 дещо в даній функції змінилося, а саме — значення третього параметра за замовчуванням. Основне завдання цього параметра це вказівка кодування передаваної функції рядка. Тепер значення третього параметра за замовчуванням стала кодування UTF-8.

Нічого поганого про кодування UTF-8 не скажу, так само як і про функцію htmlspecialchars, оскільки якщо поміняли кодування за замовчуванням, значить так було потрібно. Однак для системи бітрікс це не пішло на руку з тієї причини, що якщо передавати рядок з нелатинськими символами в інший кодуванні, не передаючи параметр кодування, то функція повертала порожній рядок. Як ви можете уявити, проблема відчутна, т. к. в системі дана функція використовується досить часто.

Рішення даної проблеми розробники побачили в додаванні нової функції під назвою htmlspecialcharsbx в головний модуль починаючи з версії 11.5.9, таким чином, вже з 12-ї версії битрикса замінений виклик стандартної функції htmlspecialchars.

По суті, функція, що виконує роль альтернативної заміни в битриксе працює на основі старої функції:

function htmlspecialcharsbx($string, $flags=ENT_COMPAT){
return htmlspecialchars($string, $flags, (defined(“BX_UTF”)? “UTF-8” : “ISO-8859-1”));
}

Таким чином, якщо константа BX_UTF була визначена перед зверненням до функції, то буде використано кодування UTF-8 в іншому випадку ISO-8859-1.

Функція htmlspecialcharsbx описується в файлі:
/bitrix/modules/main/classes/general/update_log.php

Додав: htmaker, 06.01.2015 р.
(3 голосів, середній: 4,67 з 5)

Завантаження…

Діліться з друзями:

См. також:


Налаштування часу у VMBitrix
Рубрика: Bitrix, Linux

Видалення «кинутих» кошиків в системі Бітрікс
Рубрика: Bitrix

Використання highload-блоків в Bitrix
Рубрика: Bitrix

Як виконати SQL запит в Bitrix
Рубрика: Bitrix

Як підрахувати кількість елементів в Bitrix?
Рубрика: Bitrix

Динамічне масштабування зображень в Bitrix
Рубрика: Bitrix

Виключаємо користувача з ID=1 групи адміністраторів в Bitrix
Рубрика: Bitrix

Як скинути пароль адміністратора у Bitrix?
Рубрика: Bitrix

SQL-запити в бітрікс
Рубрика: Bitrix

Коментарі

  • Максим Зельонкін пише:
    06.10.2017 у 20:55

    Дякую, прочитав!

    Відповісти