[这是前端的内容:]
<h1>hello</h1>
<span>123</span>
<h1>hello</h1>
<span>123</span>
<h1>hello</h1><span>123</span>
<script>alert(123)</script>
<script>alert(123)</script>
<script>alert(123)</script>
[后端解析到的是:]
<pre><span style="color:#6a8759;"><h1>hello</h1><span>123</span> </span><span style="color:#6a8759;"><h1>hello</h1><span>123</span> </span><span style="color:#6a8759;"> </span><span style="color:#6a8759;"><h1>hello</h1><span>123</span> </span><span style="color:#6a8759;"> </span><span style="color:#6a8759;"> </span><span style="color:#6a8759;"><script>alert(123)</script> </span><span style="color:#6a8759;"><script>alert(123)</script> </span><span style="color:#6a8759;"><script>alert(123)</script></span></pre>
[后端代码是:]
if request.method=="POST":
title=request.POST.get('title')
content=request.POST.get("content")
#拿到标签字符串
soup = BeautifulSoup(content, "html.parser",fromEncoding="UTF-8")
#先过滤:
for tag in soup.find_all():
if
tag.name == "script" : #####问题出在这里,哪怕我换成”</script>“,也匹配不到这里的 if
print("script--------->",
tag.name) #####所以压根走不到这里,我懵了,555 怎样变回 script 呀??
tag.decompose() # 从 soup 里吧这个 script 的 tag 删除掉
desc = soup.text[0:150] #对文本进行截断 #######这里就变回了 script,怎么让前面的就变回 script ??
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/589358
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.