我有带有 html 标签的 QString。为什么我可以从此字符串中获取纯文本?
问问题
11645 次
3 回答
7
str.remove(QRegExp("<[^>]*>"));
于 2011-05-14T09:51:26.300 回答
6
您需要从字符串中去除 HTML 标记。例如看这篇文章。
于 2011-05-14T05:25:25.900 回答
1
这个问题现在有点尘土飞扬,但是对于任何检查的人来说,它(已经成为?)可以用来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 文档建议您可以只传递QString
到fromHtml
那里。)
于 2020-08-02T17:52:30.367 回答