У меня есть QString с некоторым HTML в нем... там простой способ разделить HTML от него? Я в основном хочу просто фактическое текстовое содержание.
<i>Test:</i><img src="blah.png" /><br> A test case
Стал бы:
Test: A test case
Мне любопытно знать, имеет ли QT строковую функцию или утилиту для этого.
Вы можете попробовать просмотреть строку с помощью класса QXmlStreamReader и извлечь весь текст (если HTML-строка гарантированно является хорошо сформированным XML).
Что-то вроде этого:
QXmlStreamReader xml(htmlString);
QString textString;
while (!xml.atEnd()) {
if ( xml.readNext() == QXmlStreamReader::Characters ) {
textString += xml.text();
}
}
но я не уверен, что это 100% правильное использование API QXmlStreamReader, так как я использовал его довольно давно и мог что-то забыть.