Если вы когда-либо принимать необработанный HTML от внешнего источника, чтобы встроить в свой сайт, вы должны всегда, всегда, переформатировать и белый список его. Вы не знаете, что может содержать этот сторонний HTML-код, и у вас нет гарантии, что он действителен; но на вашем сайте вы предположительно хотите, чтобы гарантированный действительный HTML с определенными ограничениями на его содержимое (или вы действительно хотите включить вложение произвольных <script>
тегов ...?!).
Это означает, что вы хотите:
- разбора HTML и экстракт любой структурной информации, которая в нем
- фильтр, структура, чтобы только разрешенные элементы, а затем
- производят свой собственный HTML от того, вы можете гарантировать, что это синтаксически допустимо.
Предположительно лучшая библиотека PHP, которая составляет HTML Purifier. Без использования библиотеки вы использовали бы ленивый HTML-парсер, например, DOMDocument
для проверки и фильтрации содержимого, а затем встроенного DOMDocument::saveXML
для создания нового дезинфицированного HTML.
Это интенсивность процессора. Я считаю, что это проще реализовать ... http://stackoverflow.com/a/37111254/1487576 – Karma