Я занимаюсь разработкой веб-сайта с использованием PHP, MySQL и HTML. В базе данных одно из полей - это текст, который может содержать теги HTML, например <b>
или <i>
.Запретить или очистить теги HTML/CSS
Моя проблема заключается в том, что в определенной части сайта (раздел поиска) я хочу отображать только «сводную»/подстроку этого поля.
Проблема: когда я получаю часть этого поля для отображения на странице, теги, которые не закрыты, влияют на то, как отображается остальная страница.
Две вещи бы решить эту проблему:
- Предотвратить эти конкретные теги, которые будут показаны;
- После того, как поле отображается, я хочу закрыть все «открытые теги».
Обратите внимание, что вариант номер один был бы намного лучше.
Там огромный отказ от ответственности в PHP инструкции: ** Предупреждение ** Поскольку strip_tags() фактически не подтверждать HTML, частичные или сломанные теги могут привести к удалению большего количества текста/данных, чем ожидалось. – stillstanding
@stullstanding: да, но поскольку (1) html здесь более или менее под контролем, и (2) мы только собирались дать резюме, потеря некоторых данных не должна быть такой большой проблемой, соответствуют текущей потребности. Однако можно было бы использовать 'strip_tags' _before_ a' substr'. – Wrikken