从 QString 获取带有 HTML 标签的纯文本

发布于 2024-11-07 08:22:40 字数 48 浏览 0 评论 0原文

我有带有 html 标签的 QString。为什么我可以从这个字符串中获取纯文本?

I have QString with html tags. Why can i get plain text from this string?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

只怪假的太真实 2024-11-14 08:22:40

str.remove(QRegExp("<[^>]*>"));

str.remove(QRegExp("<[^>]*>"));

烧了回忆取暖 2024-11-14 08:22:40

您需要从字符串中去掉 HTML 标签。请参阅这篇文章 例如。

You need to strip off the HTML tags from the string. See this post for instance.

若言繁花未落 2024-11-14 08:22:40

这个问题现在有点尘土飞扬,但对于任何检查的人来说,(已经成为?)可以使用 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 文档建议您只需传入那里的 QStringfromHtml。)

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.

from PySide2.QtGui import QTextDocumentFragment

plain = QTextDocumentFragment.fromHtml(
    "<body>someHtml<br/><b>it was so booold!</b></body>"
).toPlainText()

(Additionally, the Qt documentation suggests that you can just pass in the QString to fromHtml there.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文