У меня есть форма, в которой пользователи могут создавать свой собственный вход с помощью html. Я хочу очистить этот вход на стороне сервера с помощью PHP. Тем не менее, я хочу убедиться, что все входные данные защищены и соответствуют тому, что я бы хотел. У меня уже есть XSS-защита, поэтому это не об удалении скриптов.Удалить определенные теги из ввода html с PHP
Когда пользователь обеспечивает ввод, я хочу, чтобы удалить, кроме p
, img
, a
, hr
, br
, tbody
, tr
, td
, pre
, ul
, ol
, li
и span
(в основном все текстовые теги форматирования, кроме дивы). Я хочу удалить любые атрибуты, кроме href
, для <a>
, src
для <img>
и style
за <p>
. Для <p>
стиля я хотел бы только сохранить следующие атрибуты:
color
background-color
line-height
- Все, что начинается с
text-
Кроме того, я хочу, чтобы иметь возможность обрезать текст до определенной длины, сохраняя конечные теги и удостоверяясь, что каждый открывающий тег также имеет закрытие тег.
Например, как редактор Stack Overflow анализирует и очищает ввод перед сохранением и отображением его пользователю?
Спасибо.
Я не знаю кода, стоящего за редактором SO. Если вы покажете нам свой код, возможно, мы сможем помочь вам его улучшить. – BeetleJuice
Мой код исходит от редактора Summernote. Чтобы уточнить, речь идет о бэкэнде. –
Используете ли вы CKEditor для этого? – eronax59