Ich versuche HTML-Daten zu verarbeiten, die in einem QString enthalten sind. Die Daten haben codierte HTML-Tags, z. "<" etc. Ich möchte diese in die entsprechenden Symbole umwandeln.QString.replace funktioniert nicht
Ich habe versucht eine Reihe von Ansätzen, aber keiner scheint zu funktionieren, was darauf hindeutet, dass ich etwas wirklich einfaches vermisse.
Hier ist der Code (geändert durch die früheren Bemerkungen berichteten Fehler zu beheben):
QString theData = "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Arial'; font-size:20pt; font-weight:400; font-style:normal;">
<table border="0" style="-qt-table-type: root; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;">
<tr>
<td style="border: none;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; color:#4cb8ff;">This is text on the second page. This page contains a embedded image,</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; color:#4cb8ff;">and audio.</span></p></td></tr></table></body></html>";
QString t2 = theData.replace("&", "&").replace("<", "<").replace(">", ">").replace(""", "'");
Der Wert von T2 ist jedoch die gleiche wie theData nach dem ablöst.
"t1..replace" <- Das sieht nicht wie gültige C++ - Syntax aus. – MrEricSir