Работая с HTMLPurifier для Laravel, я столкнулся с проблемой.
Взяв этот фрагмент кода с форума в качестве примера:
<a href="http://www.extramileleeds.co.uk/" class="bbc_url"title="External link" rel="nofollow external">http://www.extramileleeds.co.uk/</a>
Это на форуме просто показано как ссылка. Я использую contenteditble
div для моего texteditor и использования HTMLPurifier
раздеться все кроме тегов изображения и их источника.
Моя цель — чтобы пользователи могли заходить на форумы, копировать и вставлять что угодно. Буквально сразу со страницы, так что все изображения и ссылки и т. Д., И я очищаю все это в простой текст и изображения.
Это работает, пока вы не вставите, например, HTML-код.
Таким образом, вместо копирования и вставки со страницы, если я скопирую приведенный выше исходный код в свой редактор, он не затрагивается HTMLPurifier
,
Проблемы заключались в том, что перед публикацией формы я перенес данные из div contentEditable в текстовый ввод через jQuery. Переданный текст может быть установлен только через .val (), и строка кодируется в специальные символы.
Чтобы исправить, я изменил ввод текста на textarea и переключил jQuery, чтобы использовать вместо него .html ().
Других решений пока нет …