Search code examples
c++htmlqthtml-escape

How can I make a QString html-escaped


How do I escape/sanitize a QString that contains HTML?

I.e. showInBroswser(escaped(str)) == showInNotepad(str);


Solution

  • Qt 5

    Use QString::toHtmlEscaped()

    QString src;
    Qstring html = src.toHtmlEscaped();
    showInBrowser(html) == showInNotepad(str);
    

    Reference: http://doc.qt.io/qt-5/qstring.html#toHtmlEscaped

    Qt 4

    Use Qt::escape.

    #include <QtGui/qtextdocument.h>
    
    QString src;
    Qstring html = Qt::escape(src);
    showInBrowser(html) == showInNotepad(str);
    

    Reference: http://doc.qt.io/qt-4.8/qt.html#escape