Давайте поговоримо про даної функції, а так само про причини її появи в системі бітрікс. У 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
Дякую, прочитав!
Відповісти