用户可以在Qt环境中将一些文本放入QLineEdit。但是,这些输入文本可以包含HTML特殊字符。我的目标是通过用替换替换所有HTML特殊字符来转换此文本。
在PHP中使用htmlspecialchars()函数http://php.net/manual/en/function.htmlspecialchars.php可以找到类似的情况。
我想要这样做的主要原因是因为我想在richtext QTextEdit中显示用户输入,我不希望用户能够更改HTML,我希望能够使用HTML特殊字符麻烦太多了。
如何实现这一目标?
答案 0 :(得分:1)
我知道最简单的方法是使用QTextEdit::toHtml
:
QString convert();
{
QString s = lineEdit->text();
QTextEdit textEdit;
textEdit.setPlainText(s);
QString ret = textEdit.toHtml();
int firstClosingTag = ret.indexOf("</p></body></html>");
int lastOpeningTag = ret.lastIndexOf(">", firstClosingTag);
return ret.mid(lastOpeningTag + 1, firstClosingTag - lastOpeningTag - 1);
}
还有两个功能,你会觉得很有用: