У меня есть QString с html-тегами. Почему я могу получить простой текст из этой строки?
Получить простой текст из QString с тегами HTML
comment
возможный дубликат Есть ли простой способ отделить HTML от QString в Qt?
- person Macke   schedule 05.06.2012
Ответы (3)
str.remove(QRegExp("‹[^>]*>"));
person
k06a
schedule
14.05.2011
Это не способ Qt, но в некоторых ситуациях это хороший способ. Спасибо.
- person ekshibarov; 16.05.2011
Я уверен, что это самый короткий путь.
- person k06a; 17.05.2011
@ k06a Это будет всегда работать? А как насчет проблем в: stackoverflow.com/questions/590747/
- person eric; 21.10.2014
Реальные веб-сайты @neuronet html содержат много ошибок и несоответствий. Так что синтаксический анализ html - не очень хорошая идея, ИМХО.
- person k06a; 21.10.2014
Сейчас вопрос немного пыльный, но для всех, кто проверяет, возможно (стало ли?) Использовать QTextDocumentFragment
для преобразования HTML в открытый текст способом Qt.
Этот подход может обеспечить согласованность в зависимости от вашей цели, а также надежность (конечно, в зависимости от времени 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
там.)
person
brezniczky
schedule
02.08.2020