检查/确定 QString 是不是包含 html
Posted
技术标签:
【中文标题】检查/确定 QString 是不是包含 html【英文标题】:check/determine if QString contains html检查/确定 QString 是否包含 html 【发布时间】:2017-03-15 19:31:32 【问题描述】:由于我无法在这里找到合适的解决方案,所以我想问答这个问题:
有没有办法确定QString
是否由 html 组成,即是否是富文本(或至少包含 html)?
table/view model 中数据编辑器的 setData
的未知/QVariant
调用可能是这种情况。
【问题讨论】:
【参考方案1】:解决方案可以是使用Qt::mightBeRichText 代替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;
重要的是要注意所提出的方法uses a heuristic。它可能无法检测到 html 或错误地检测到非 html 文本中的 html。前者可能会在字符串中返回 html 标签。例如,后者会从文本中删除换行符。
【讨论】:
以上是关于检查/确定 QString 是不是包含 html的主要内容,如果未能解决你的问题,请参考以下文章