QStringに保持されたHTMLデータを処理しようとしています。データには、エンコードされたHTMLタグがあります。 "<"など。私はこれらを適切な記号に変換したい。QString.replaceが動作しない
私は多くのアプローチを試みてきましたが、どれもうまくいかないようです。これは本当に簡単なものが欠けていることを示唆しています。 T2の値が、しかし置き換え後theData同じである
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(""", "'");
:ここ
コード(以前のコメントによって報告されたタイプミスを修正する修正)です。
"t1..replace" < - これは有効なC++構文のようには見えません。 – MrEricSir