【发布时间】:2011-05-14 05:18:17
【问题描述】:
我有带有 html 标签的 QString。为什么我可以从这个字符串中得到纯文本?
【问题讨论】:
我有带有 html 标签的 QString。为什么我可以从这个字符串中得到纯文本?
【问题讨论】:
str.remove(QRegExp("]*>"));
【讨论】:
您需要从字符串中去除 HTML 标记。例如,请参阅this post。
【讨论】:
这个问题现在有点尘埃落定,但对于任何检查的人来说,(已经成为?)可以使用QTextDocumentFragment 以 Qt 方式将 HTML 转换为纯文本。
这种方法可能会根据您的目的提供一致性以及稳健性(当然取决于 Qt 人的时间:) - 但他们的用户群相当大,到目前为止它对我来说非常有效)。
我在 Python 中尝试了类似下面的方法,我认为 C++ 中的机制也应该大致相同。
from PySide2.QtGui import QTextDocumentFragment
plain = QTextDocumentFragment.fromHtml(
"<body>someHtml<br/><b>it was so booold!</b></body>"
).toPlainText()
(此外,Qt documentation 建议您只需将QString 传递给fromHtml。)
【讨论】: