将纯文本字符串保存为所见即所得的编辑器字符串

Saving a plain text string as a WYSIWYG editor string

我目前有一个用 C++ 编写的 Web 应用程序,它将数据保存到 MySQL 数据库中。现在在这个应用程序中有一个页面,其中包含一个所见即所得的编辑器,这个值作为一个字符串保存在数据库中。该值将包含 html 标记以及在此字段中键入的值。此应用程序还托管一个 API,它允许用户向其发送 POST 数据,这些数据将只是作为 JSON 发送的纯文本(无 html 格式)应用程序将处理。这是我的应用程序将作为 POST 来自 JSON 的数据并要处理它的 2 个字段的示例,

{
  "description" : "Hello world",
}

由于我的 Web 应用程序中的页面现在使用所见即所得编辑器作为“文本字段”,因此现在需要使用 HTML 格式保存该值,该字符串是来自传入数据的一部分JSON POST。我想展示一个示例,说明在使用所见即所得编辑器提交数据后将值保存在数据库字段后示例数据的样子,

'
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>

<HEAD>
    <META http-equiv=Content-Type content='' text/html; charset=utf-8''>
</HEAD>

<BODY>
    <FONT SIZE=3 FACE='' calibri,sans-serif''>
        <DIV />
        <div>
            <div>
                <div>
                    <div>
                        <div>
                            <div>
                                <div>
                                    <div>
                                        <div>
                                            <div>
                                                <div>
                                                    <div>
                                                        <div>
                                                            <div>
                                                                <div>
                                                                    <div>
                                                                        <div>
                                                                            <div>
                                                                                <div>
                                                                                    <div>
                                                                                        <div>
                                                                                            <div>
                                                                                                <div>
                                                                                                    <div>
                                                                                                        <div>
                                                                                                            <div>
                                                                                                                <div>
                                                                                                                    <div>
                                                                                                                        <div>
                                                                                                                            <div>
                                                                                                                                <div>
                                                                                                                                    <div>
                                                                                                                                        <div>
                                                                                                                                            <div>
                                                                                                                                                <div>
                                                                                                                                                    <div>
                                                                                                                                                        <div>
                                                                                                                                                            <div>
                                                                                                                                                                <div>
                                                                                                                                                                    <div>
                                                                                                                                                                        <div>
                                                                                                                                                                            <div>
                                                                                                                                                                                <div>
                                                                                                                                                                                    <div>
                                                                                                                                                                                        <div>
                                                                                                                                                                                            <div>
                                                                                                                                                                                                <div>
                                                                                                                                                                                                    <div>
                                                                                                                                                                                                        <div>
                                                                                                                                                                                                            <div>
                                                                                                                                                                                                                <div>
                                                                                                                                                                                                                    <div>
                                                                                                                                                                                                                        <div>
                                                                                                                                                                                                                            <div>
                                                                                                                                                                                                                                <div>
                                                                                                                                                                                                                                    <div>
                                                                                                                                                                                                                                        <div>
                                                                                                                                                                                                                                            <div>
                                                                                                                                                                                                                                                <div>
                                                                                                                                                                                                                                                    <div>
                                                                                                                                                                                                                                                        <div>
                                                                                                                                                                                                                                                            <div>
                                                                                                                                                                                                                                                                <div>
                                                                                                                                                                                                                                                                    <div>
                                                                                                                                                                                                                                                                        <div>
                                                                                                                                                                                                                                                                            <div>
                                                                                                                                                                                                                                                                                <div>
                                                                                                                                                                                                                                                                                    <p
                                                                                                                                                                                                                                                                                        id="description">
                                                                                                                                                                                                                                                                                        <strong>Hello world</strong>
                                                                                                                                                                                                                                                                                    </p>
                                                                                                                                                                                                                                                                                </div>
                                                                                                                                                                                                                                                                            </div>
                                                                                                                                                                                                                                                                        </div>
                                                                                                                                                                                                                                                                    </div>
                                                                                                                                                                                                                                                                </div>
                                                                                                                                                                                                                                                            </div>
                                                                                                                                                                                                                                                        </div>
                                                                                                                                                                                                                                                    </div>
                                                                                                                                                                                                                                                </div>
                                                                                                                                                                                                                                            </div>
                                                                                                                                                                                                                                        </div>
                                                                                                                                                                                                                                    </div>
                                                                                                                                                                                                                                </div>
                                                                                                                                                                                                                            </div>
                                                                                                                                                                                                                        </div>
                                                                                                                                                                                                                    </div>
                                                                                                                                                                                                                </div>
                                                                                                                                                                                                            </div>
                                                                                                                                                                                                        </div>
                                                                                                                                                                                                    </div>
                                                                                                                                                                                                </div>
                                                                                                                                                                                            </div>
                                                                                                                                                                                        </div>
                                                                                                                                                                                    </div>
                                                                                                                                                                                </div>
                                                                                                                                                                            </div>
                                                                                                                                                                        </div>
                                                                                                                                                                    </div>
                                                                                                                                                                </div>
                                                                                                                                                            </div>
                                                                                                                                                        </div>
                                                                                                                                                    </div>
                                                                                                                                                </div>
                                                                                                                                            </div>
                                                                                                                                        </div>
                                                                                                                                    </div>
                                                                                                                                </div>
                                                                                                                            </div>
                                                                                                                        </div>
                                                                                                                    </div>
                                                                                                                </div>
                                                                                                            </div>
                                                                                                        </div>
                                                                                                    </div>
                                                                                                </div>
                                                                                            </div>
                                                                                        </div>
                                                                                    </div>
                                                                                </div>
                                                                            </div>
                                                                        </div>
                                                                    </div>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </FONT>
</BODY>

</HTML>

你可以看到它包含很多 html 标签。在 WYSIWYG 编辑器中输入的值是“Hello world”。

有人知道如何将我的字符串格式化为从所见即所得编辑器输出到数据库的数据吗?

如果您想查看格式为富文本的数据,您必须将其保存为带有 HTML 标签的富文本。在这种情况下,您必须更改 WYSIWYG 编辑器,因为您拥有的编辑器显然有很多错误,并且包含很多冗余 HTML 标签。

要考虑的另一件事是将 HTML 代码缩小为更小的代码,删除冗余空格。压缩整个字符串也是一种选择,但这取决于您希望处理此信息的速度有多快 (read/write)。

如果文本将被阅读为简单文本并且格式多余,则完全删除所见即所得,或者如果 UI 不在您的控制范围内而您必须保留它,则解析 HTML 并仅获取标签之间呈现的文本。