如何把json重新html发布,如何从JSON文件中剥离所有HTML内容?

本文介绍如何从JSON文件中安全地移除HTML内容,避免破坏结构,同时提及了使用正则表达式和递归函数的技巧,以及如何处理字符实体。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

How do I strip the html content out from a json file without breaking it?

与任何其他序列化数据结构的方式相同。通过使用适当的解析器(在本例中是一个小型递归函数)。在import json

import re

json_string = """{

"prop_1": {

"prop_1_1": ["some data", 17, "more data"],

"prop_1_2": "here some , too"

},

"prop_2": "and more "

}"""

def unhtml(string):

# replace ..., possibly more than once

done = False

while not done:

temp = re.sub(r']*>[\s\S]*?\1>', '', string)

done = temp == string

string = temp

# replace remaining standalone tags, if any

string = re.sub(r']*>', '', string)

string = re.sub(r'\s{2,}', ' ', string)

return string.strip()

def cleanup(element):

if isinstance(element, list):

for i, item in enumerate(element):

element[i] = cleanup(item)

elif isinstance(element, dict):

for key in element.keys():

element[key] = cleanup(element[key])

elif isinstance(element, basestring):

element = unhtml(element)

return element

用作

^{pr2}$

抛出HTML标记的regex只能解决一半问题。所有字符实体(如&或<将保留在字符串中。在

重写unhtml()以使用proper parser。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值