Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这是用PHP保存HTML内容的“普通”版本的好方法吗?_Php_Html_Ckeditor - Fatal编程技术网

这是用PHP保存HTML内容的“普通”版本的好方法吗?

这是用PHP保存HTML内容的“普通”版本的好方法吗?,php,html,ckeditor,Php,Html,Ckeditor,我需要用WYSIWYG编辑器保存来自文本区域的HTML内容的普通版本。现在,在保存到数据库之前,我正在使用以下函数: public function preUpdate(PreUpdateEventArgs $event) { if (($resource = $event->getEntity()) instanceof Resource) { $resource->setPlainContent($this->computePlainContent(

我需要用WYSIWYG编辑器保存来自文本区域的HTML内容的普通版本。现在,在保存到数据库之前,我正在使用以下函数:

public function preUpdate(PreUpdateEventArgs $event)
{
    if (($resource = $event->getEntity()) instanceof Resource) {
        $resource->setPlainContent($this->computePlainContent($resource));
    }
}

protected function computePlainContent(Resource $resource)
{
    return preg_replace(
        '/\s+/',
        ' ',
        html_entity_decode(
            strip_tags($resource->getContent()),
            ENT_QUOTES | ENT_HTML401
        )
    );
}
纯文本将用于在页面之间搜索

问题:

假设编辑器总是生成有效的HTML,这是否良好/安全**? 你会删除标点符号吗?如何删除? 在不知道输出质量的情况下,我应该使用带有CKEditor默认配置的ENT_HTML401还是ENT_XHTML?
**为了安全,我指的是生产良好产量的安全。此系统的用户是可信的。

您应该始终检查服务器端的用户输入。@FezVrasta您是在谈论内容还是纯内容?顺便说一句,我们的用户是可信的。当然这不安全,哈哈。你在用html\u实体将类似的东西转换成>_decode@onetrickpony在解码之前我正在剥离标签…脚本不是标签,你正在使它成为标签