从 QString 获取带有 HTML 标签的纯文本
我有带有 html 标签的 QString。为什么我可以从这个字符串中获取纯文本?
I have QString with html tags. Why can i get plain text from this string?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
str.remove(QRegExp("<[^>]*>"));
str.remove(QRegExp("<[^>]*>"));
您需要从字符串中去掉 HTML 标签。请参阅这篇文章 例如。
You need to strip off the HTML tags from the string. See this post for instance.
这个问题现在有点尘土飞扬,但对于任何检查的人来说,(已经成为?)可以使用 QTextDocumentFragment 以 Qt 方式将 HTML 转换为纯文本。
这种方法可能会根据您的目的提供一致性,以及鲁棒性(当然取决于 Qt 人员的时间:) - 但他们的用户群相当大,到目前为止它对我来说非常有效)。
我在 Python 中尝试了类似下面的内容,我认为 C++ 中的机制也应该大致相同。
(此外,Qt 文档建议您只需传入那里的
QString
到fromHtml
。)The question is a bit dusty now, but for anyone checking, it is (has become?) possible to use
QTextDocumentFragment
to convert HTML to plaintext in the Qt way.This approach may offer consistency dependending on your purpose, as well as robustness (of course depending on the Qt folks time :) - but their user base is sizable, and so far it has worked perfectly for me).
I tried something like the below out in Python, I think the mechanics should be about the same in C++ too.
(Additionally, the Qt documentation suggests that you can just pass in the
QString
tofromHtml
there.)