Bitrix - htmlspecialcharsbx
Войти

Bitrix - htmlspecialcharsbx

Bitrix - htmlspecialcharsbx
htmlspecialcharsbx() - bitrix функция, которая предназначена для преобразования спец символов в так называемые html-сущности

Дело в том, что с выходом PHP версии 5.4 кое-что в данной функции изменилось, а именно — значение третьего параметра по умолчанию. Основная задача этого параметра это указание кодировки передаваемой функции строки. Теперь значением третьего параметра по умолчанию стала кодировка UTF-8.

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

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

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

1
2
3
4
5
6
7
<?php 

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

?>
Теги:
php