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

时间:2013-11-10 00:32:49

标签: php html ckeditor

我需要使用WYSIWYG编辑器保存来自textarea的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?
  • 你会删除标点符号,以及如何删除?
  • 我应该使用ENT_HTML401还是ENT_XHTML和CKEditor(默认配置,不知道输出质量)?

**为了安全我的意思是安全地产生良好的输出。用户(本系统)是可信任的。

0 个答案:

没有答案