我有一个像这样的简单 TextArea:
TextArea {
id: my_text_area
anchors.margins: 5
anchors.fill: parent
textFormat: TextEdit.RichText
}
用户可以在 TextArea 中输入文本。我现在想在输入的文本中找到模式,并通过将它们设为粗体、红色或带下划线来突出显示它们。
我将文本传递给这样的 js 函数:
Functions.doSomething(my_text_area.text)
我遇到的问题是:我正在搜索文本中的特定模式,而 RichText 的整个 html 标记弄乱了这些模式。
是否有我错过的功能允许我以纯文本格式传递文本?还是有一些“简单”的方法可以使用 javascript 函数删除所有 html 标记?还是有其他解决问题的方法?
到目前为止我尝试了什么:
在传递文本之前,我尝试将 textFormat 设置为 TextEdit.PlainText,但这不起作用。我还考虑过拥有一个 RichText TextArea 和一个 PlainText TextArea 并且一次只显示一个(例如,用户将文本输入到 PlainText 区域,程序将其显示在 RichText 区域中),但问题是用户应该文本被突出显示后就可以对其进行编辑。