1
kingjpa 2022-08-01 22:05:16 +08:00 3
这时候 php 的好处就出来了 直接一个 strip_tags 函数搞定。
|
2
wzzzx 2022-08-01 22:08:57 +08:00
我肯定是选 2 ,这个就是一个业务上的需求吧。今儿不要标签,明儿要标签,后天想把标签加粗展示,大后天想把标签变为红色,总不能一次整多一个字段吧
|
3
eason1874 2022-08-01 22:12:32 +08:00
大部分富文本编辑器都有两个保存 API ,一个存 HTML 格式的,一个存文本格式的,并且两者可以互转
文本格式也只是类似 markdown 去掉部分 HTML 标签,不能全部去掉。比如允许编辑字体颜色,保存时如果把 HTML 标签全部去了,那你就转不回来了 |
4
oneisall8955 2022-08-01 22:12:36 +08:00 via Android
2 ,jsoup 解析整一下
|
5
BugCry 2022-08-01 22:12:59 +08:00 via Android 12
这要从何笑起呢
|
7
kkeep 2022-08-01 22:19:22 +08:00 via Android
2
|
9
kukala OP @oneisall8955 是的
|
12
Danswerme 2022-08-01 22:52:12 +08:00
选 1 ,我懒
|
15
DeutschXP 2022-08-02 02:33:38 +08:00 via iPhone
@kukala 那你有没有想过,在某些应用情景下,单独存一个不带 html 标签的纯文本,会更方便搜索呢?
|
16
netnr 2022-08-02 08:46:26 +08:00 via Android
选 1 直接存储 更通用
|
18
imicksoft 2022-08-02 09:02:38 +08:00
选 1 ,这事我干过。
我之前采集过 aardio 论坛的帖子,aardio 的数据类型有一个是 table 类型,那存 html 不方便搜索 aardio 代码,所以就用了两个字段,一个存 html 源码,一个存纯文本。 |
19
yuewenjie 2022-08-02 09:04:43 +08:00
嘿嘿
|
24
hay313955795 2022-08-02 09:45:39 +08:00
额 哪里好笑了?
|
25
cuixiao603 2022-08-02 09:57:31 +08:00
我是来看笑话的,笑话呢
|
26
f056917 2022-08-02 10:23:31 +08:00
选 2 丢给前端去替换?
|
27
nothingistrue 2022-08-02 10:36:30 +08:00
首先考虑的问题是,不带 html 的内容是不是必须存,评判标准是:有没有根据它检索的需求。如果是必须存那就没 2 的什么事了。如果不是必须存,那 1 跟 2 在黑盒功能上是没区别的,用哪个就看你用哪个更方便。
|
28
ada87 2022-08-02 11:56:02 +08:00
哪里好笑了, 正常一点的富文本都是存自己的 rawObject ,从没存过 HTML , 这个需求要是要求存 HTML 才有毛病。
|
29
theliang 2022-08-02 12:02:33 +08:00
2
第一个是用空间换时间 第二个是直接花时间去替换,如果不是很大的文本,其实效率也是挺快的 |
30
littlewing 2022-08-02 12:05:57 +08:00
1. 哪里好笑了
2. “小项目一般用富文本编辑器把内容存入数据库不是带有着 html 标签的嘛!” 这是什么逻辑 |
31
RuralHunter 2022-08-02 12:08:12 +08:00
显然 2 个方案都不对,实际只要保存带标签的 html 。因为不需要标签时你可以把带标签内容取出来去掉标签。但你去掉了标签保存就恢复不了原来的标签了,除非你的标签是固定的。
|
33
octalempyrean 2022-08-02 12:35:06 +08:00 via Android 1
反正我没笑
|
34
laolaowang 2022-08-02 13:21:25 +08:00
这有什么可笑的?
|
35
fox0001 2022-08-02 13:22:07 +08:00 via Android
一般选 1 ,省心
|
36
Rrrrrr 2022-08-02 13:35:36 +08:00
自己定义一套不更好?
|
37
alfa 2022-08-02 13:39:41 +08:00
小项目,之前我们用了 1 ,因为内容需要按关键字搜索
|
38
ccyu220 2022-08-02 13:44:36 +08:00
有什么好笑的,之前做 APP 消息中心的时候就是这么处理的显示部分简介和详情的。
简介就是纯文本,详情就是 webview 展示详细内容 |
39
mosliu 2022-08-02 14:42:40 +08:00
看数据量 和 时间要求了。。
第一个 空间换时间 第二个 时间换空间呗。。。 |
40
DeutschXP 2022-08-02 17:04:07 +08:00 via iPhone
|
41
lujiaosama 2022-08-02 17:11:43 +08:00
为什么会存带 html 标签的, 我这里的富文本是存的楼上说的 rawObject, 也有过前端展示简介纯文本的需求, 是服务端这边提取的文本. 如果还要搜索, 确实还是 ls 说的再加一个字段存纯文本比较好.
|
42
libook 2022-08-02 17:41:21 +08:00
得看需求上,要求带样式的内容在“不带 html 标签”的场景下怎么处理,如果只去掉 html 标签就能满足需求的话,我倾向方案 2 。
方案 1 需要确保一致性,解决一致性问题通常会麻烦一些,我个人的偏好是能存一份数据尽量不存多份。 |
43
krixaar 2022-08-03 15:34:00 +08:00
方案 1 的变种,建一个视图,多一个字段用原表字段去掉 html 标签
|
44
encro 2022-08-03 19:10:00 +08:00
orm 里面这种不是有接近标准的解决方案吗?
Post { html, # 数据库存原始的 getContent(), # 定义一个 get 取去掉 tag 的 } 以上是不考虑性能的,如果需要考虑性能,一直性用 text ,比如搜索引擎,那么当然是加字段。根据场景和需求来,否则就是耍流氓。 |
45
sanyuedev 2022-08-03 23:25:41 +08:00
内部使用的(管理系统)存取原始信息,对外展示的 转义为 html 形式的
|