检查/确定QString是否包含html
check/determine if QString contains html
由于我在这里找不到合适的解决方案,我想问答这个问题:
有没有办法确定QString
是否由html组成,即富文本(或至少包含html(?
表/视图模型中对数据编辑器setData
的未知/QVariant
调用,可能就是这种情况。
一个解决方案可以是使用 Qt::mightBeRichText for 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;
}
重要的是要注意,所提出的方法使用启发式方法。它可能无法检测到 html 或错误地检测非 html 文本中的 html。前者可能会在字符串中返回 html 标记。例如,后者会从文本中删除换行符。
相关文章:
- 如何导出包含具有"std::unique_ptr"值的"std::map"属性的
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 编译包含字符串的代码时遇到问题
- c++库的公共头文件中应该包含什么
- 将包含C样式数组的对象初始化为成员变量(C++)
- 是否需要删除包含对象的"pair"?
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 使用mongocxx驱动程序时包含头文件问题
- 如何在h文件中包含.o对象文件
- 在混合代码库中将C转换为C++时出现许多包含错误
- VS2017,C++包含目录与附加包含目录,子文件夹包含失败-但为什么
- cmath抛出错误C2062、C2059、C2143和C2447.cmath包含在矢量文件中
- 为什么您需要C++头文件的包含保护
- 无法在UE4中包含BP类到CPP类
- g++ 说函数不存在,即使包含正确的标头
- 检查/确定QString是否包含html
- 用C++解析文本文件(其中包含HTML)
- 如何将包含空格的字符串设置为HTML文本字段(在表单中)的默认值
- 如何使用BoostptreeC++解析值中包含HTML标记的XML