django - 如何在 Python 中仅从 CKEditors RichTextField 获取文本?
问题描述
我有 CKEditor,我需要它在服务器端的纯文本。我尝试 re.sub 去除标签,但是当有表格、图像或链接时它会失败。我怎样才能避免它们?
当 \xa0 是连续的并且我遇到了一些问题
<a href="#"> abc</a>
我不想要里面的 abc 文本。而 \xa0 就是其中之一,当其他一些输入像 \xa0 这样的代码不会消除它。
例子:
我有这个字符串:
'<p>wtw tebrs g <u>resgs e<s>re</s> sger</u>g erg<a href="http://resgser g"> rgresg</a> rgergre<a id="grerg" name="grerg"></a>g er gerge ge rge<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="quality" value="high" /><param name="movie" value="e" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="e" type="application/x-shockwave-flash"></embed></object> gere</p>\r\n\r\n<hr />\r\n<p>greger gerg ger ge ges s5ulpüğna fg</p>\r\n\r\n<table border="1" cellpadding="1" cellspacing="1" style="width:500px">\r\n\t<tbody>\r\n\t\t<tr>\r\n\t\t\t<td> </td>\r\n\t\t\t<td> </td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<td> </td>\r\n\t\t\t<td> </td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<td> </td>\r\n\t\t\t<td> </td>\r\n\t\t</tr>\r\n\t</tbody>\r\n</table>\r\n\r\n<p> rgesr es ges esg esüer g sgü sergüser üges greklsm röeç şjgslejr gesi gs relkgjesgrjs pt ıqqoqotjg ler<img alt="" src="terger" /></p>'
我想将字符串输出为:
'wtw tebrs g resgs e re sger g erg rgresg rgergre g er gerge ge rge gere greger gerg ger ge ges s5ulpüğna fg rgesr es ges esg esüer g sgü sergüser üges greklsm röeç şjgslejr gesi gs relkgjesgrjs pt ıqqoqotjg ler'
我把我最好的解决方案放在这里:
def preprocess_text(text):
text = unescape_entities(text)
text = re.sub("<.*?>", " ", text)
text = re.sub("\n|\r|\t|\xa0", " ", text)
text = re.sub(" +", " ", text)
text = text.strip()
return text
解决方案
推荐阅读
- google-tag-manager - 我的 Google Analytics(分析)目标显示 0 次转化?
- postgresql - SSAS 与 Postgres 的连接
- angular - Angular2 component constructor didn't called
- google-apps-script - Google Apps Script moving file to Team Drive folder
- c - 有没有办法避免在运行时缓存数据?
- jmeter - 为什么我的 TC 在 Jmeter 中不应该工作?
- python - 在 Selenium 中显示单击另一个选项卡而不是当前(默认)选项卡
- javascript - Return mouse position at a given time
- android - 如何使文本到语音的声音听起来更人性化,更少机器人化?
- android-studio - 检测连接的 USB 设备