Как правильно экранировать поля, содержащие разметку?
Если "htmlspecialchars" преобразует треугольные скобки в html-сущности, то как экранировать перед передачей в базу поля, содержащие разметку? После сохранения текста, по которому прошлись функцией "htmlspecialchars", при выводе на странице разметка (p, div, span) начинает отображаться как текст.
Нужно защититься ото всяких инъекций. Я, главное, не знаю, защищает ли уже Bitrix от них при использовании API (например, CIBlockElement::update). Если нет, то нужно делать вручную, а вот как делать, чтобы не повреждались поля, содержащие разметку? Если их просто не обрабатывать, не будет ли это уязвимостью?
От "всяких" иньекций защититься невозможно в принципе.
Защититься можно только от конкретных.
Определитесь, от каких вы хотите.
после этого задайте вопрос в интернете, защищает ли CIBlockElement::update от такой инъекции.