有一个需求:想要进行富文本进行描述。
但是我们想要使用关系型数据库MySQL存储这个描述文件,请问一般的解决方法是什么样的呢?
我们知道MySQL字段可以存放纯文本,但是有图片,有标题样式等情况,一般是怎么进行存储的呢?
有一个需求:想要进行富文本进行描述。
但是我们想要使用关系型数据库MySQL存储这个描述文件,请问一般的解决方法是什么样的呢?
我们知道MySQL字段可以存放纯文本,但是有图片,有标题样式等情况,一般是怎么进行存储的呢?
不管是富文本还是穷文本都是字符串
直接 varchar 或者 text 存储字符串就行
如果字符串太长,那就存储到 oss/s3 去,然后 mysql 记录一个 oss/s3 的路径就行
富文本是字符串按照富文本协议渲染后的样子,你要存储的不是渲染后的东西,而是渲染前的东西
推荐使用直接存储HTML内容的方法
1.创建表结构:
CREATE TABLE rich_text (
id INT AUTO_INCREMENT PRIMARY KEY,
content LONGTEXT NOT NULL
);
2.插入数据:
INSERT INTO rich_text (content) VALUES ('<h1>标题</h1><p>这是一个富文本示例,包含图片和样式。</p><img src="https://example.com/image.jpg" alt="示例图片">');
补充
在展示HTML内容时要进行适当的安全处理,防止XSS攻击等安全问题。
6 回答5.2k 阅读✓ 已解决
2 回答7.5k 阅读✓ 已解决
2 回答6.7k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
1 回答5.3k 阅读✓ 已解决
1 回答5k 阅读✓ 已解决
1 回答4.3k 阅读
这是个好问题,因为我最近也在做富文本。
当前端在富文本进行一系列操作 最终决定将富文本内容传递给后端时。其实是将富文本相关的dom节点做了
toString
操作,然后将操作后的字符串存储到数据库中。https://
开头的远程服务器图片 说白了他也是字符串style
的方式 写在元素上。比如:<p style="color: res;"><strong>加粗文本</strong></>
有的富文本可能会添加css样式,比如:<p class="font-red"><strong>加粗文本</strong></>
保存到数据库中 其实就是这样的代码。当数据库返回给前端回显时 富文本会加载对应的css。样式在数据库中其实也是字符串 样式渲染和后端是耦合的