Laravel HTMLPurifier只处理复制并粘贴为富文本的项目


Laravel HTMLPurifier only working on items copy and pasted in as rich text

使用 HTMLPurifier for Laravel,我遇到了一个问题。

以论坛中的这段代码为例:

<a href="http://www.extramileleeds.co.uk/" class="bbc_url" 
 title="External link" rel="nofollow external"
 >http://www.extramileleeds.co.uk/</a>

论坛上的内容仅显示为链接。我正在为我的文本编辑器使用 contenteditblediv,并使用 HTMLPurifier 去除除图像标签及其来源之外的所有内容

我的目标是让用户能够进入论坛,复制和粘贴任何内容。从字面上看,所有的图像和链接等,我把整个事情清理成纯文本和图像。

这有效,直到您直接插入一些 HTML。

因此,如果我将上面的源代码复制到我的编辑器中,而不是从页面复制和粘贴,它不会被HTMLPurifier触及。

问题是因为在发布表单之前,我通过jQuery将数据从contentEditablediv传输到文本输入。传输的文本只能通过 .val() 设置,并且字符串被编码为特殊的字符。

为了修复,我将文本输入更改为文本区域,并将 jQuery 切换为使用 .html() 代替。