检查/确定QString是否包含html

时间:2017-03-15 19:31:33

标签: c++ qt qt4 qt5

由于我在这里找不到合适的解决方案,我想问一下这个问题:

有没有办法确定QString是否由html组成,即是富文本格式(或至少包含html)?

table/view model中对QVariant个数据编辑者的未知/ setData来电可能就是这种情况。

1 个答案:

答案 0 :(得分:1)

解决方案可以是QString用于#include <QTextDocument> QString ensurePlainText(const QString& text) { QString out; if (Qt::mightBeRichText(text)) { // is html -> convert to plain text QTextDocument text; text.setHtml(value.toString()); out = text.toPlainText(); } else { out = text; } return out; }

tidyjson

重要的是要注意所提出的方法Qt::mightBeRichText。它可能无法检测到html或错误地检测非HTML文本中的html。前者可能会返回字符串中的html标签。例如,后者将从文本中删除换行符。