我有带有html标签的QString。为什么我可以从这个字符串中获得纯文本?
答案 0 :(得分:6)
str.remove(QRegExp( “< [^>] *>” 中));
答案 1 :(得分:4)
您需要从字符串中剥离HTML标记。例如,请参阅this post。
答案 2 :(得分:0)
这个问题现在有点尘土飞扬,但是对于任何进行检查的人,都可以使用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
。)