Normaler qt4 html sieht so aus...
Code: Alles auswählen
<html><head><meta name="qrichtext" content="1" /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style=" white-space: pre-wrap; font-family:MS Shell Dlg 2; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; font-style:italic; color:#ff0000;">Test page..</span></p></body></html>
der XHTML Standard ist beschrieben in http://www.w3.org/TR/xhtml1/
mit Tidy (http://tidy.sourceforge.net/ ) kann man den ganzen salat saubern...
einmal die tidy lib compiliert auf mac, window, linux (mit qtidy.h class)
svn co http://ciz.ch/svnciz/_STATIC_LIBS_QT4/lib_tidy_src/ tidylib
hat man eine 350kb libs die ein super job leistet....
einfach im class header
#include "qtidy.h"
## von der libs
im pro file
INCLUDEPATH += ../lib_tidy_src
INCLUDEPATH += ../lib_tidy_src/includ
## extra wurste mit VS MS macht einfach libtidy.lib
win32:LIBS += ../all_os_libs/libtidy.a
unix:LIBS += ../all_os_libs/libtidy.a
mac:LIBS += ../all_os_libs/libtidy.a
dann das configuration-file anpassen nach eigene bedurfnisse...
http://ciz.ch/svnciz/_STATIC_LIBS_QT4/l ... /tidy.conf
und die funktion einsetzen ....
Code: Alles auswählen
QString HTML_Edit::TidyFile(QString html)
{
qDebug() << "### html kommt " << html;
if (!is_file(TIDY_CONF)) {
qDebug() << "### config file nicht gefunden... " << TIDY_CONF;
return html;
}
QString cleaner ="";
bool ok;
ok = file_put_contents(TIDY_IN,html);
if (ok) {
QTidy corr;
corr.SetUp(TIDY_CONF);
corr.CleanTidy(TIDY_IN,TIDY_OUT);
cleaner = file_get_contents(TIDY_OUT);
qDebug() << "### Clean result xhtml " << cleaner;
return cleaner;
} else {
return html;
}
}
Code: Alles auswählen
void HTML_Edit::SwitschSource()
{
if (status_html) {
actualstream = html_area->document()->toPlainText();
} else {
actualstream = html_area->document()->toHtml("UTF-8");
}
actualstream=TidyFile(actualstream);
if (!status_html) {
status_html = true;
editcache = false;
} else {
status_html = false;
editcache = true;
}
html_area->clear(); /* QTextEdit */
if (status_html) {
html_area->insertPlainText(actualstream);
html_area->toPlainText();
} else {
html_area->insertHtml(actualstream);
}
}
- Und das auge sowie ein cms .... und vorallem den drucker hat etwas besseres zu sehen....