Add wxMarkupParser::Strip().

This helper function strips all markup tags from the string (and also decodes
the XML entities in it).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2011-02-27 12:46:48 +00:00
parent 9bb9964e26
commit 5eb051a73b
3 changed files with 75 additions and 0 deletions

View File

@@ -425,3 +425,51 @@ wxString wxMarkupParser::Quote(const wxString& text)
return quoted;
}
/* static */
wxString wxMarkupParser::Strip(const wxString& text)
{
class StripOutput : public wxMarkupParserOutput
{
public:
StripOutput() { }
const wxString& GetText() const { return m_text; }
virtual void OnText(const wxString& text) { m_text += text; }
virtual void OnBoldStart() { }
virtual void OnBoldEnd() { }
virtual void OnItalicStart() { }
virtual void OnItalicEnd() { }
virtual void OnUnderlinedStart() { }
virtual void OnUnderlinedEnd() { }
virtual void OnStrikethroughStart() { }
virtual void OnStrikethroughEnd() { }
virtual void OnBigStart() { }
virtual void OnBigEnd() { }
virtual void OnSmallStart() { }
virtual void OnSmallEnd() { }
virtual void OnTeletypeStart() { }
virtual void OnTeletypeEnd() { }
virtual void OnSpanStart(const wxMarkupSpanAttributes& WXUNUSED(a)) { }
virtual void OnSpanEnd(const wxMarkupSpanAttributes& WXUNUSED(a)) { }
private:
wxString m_text;
};
StripOutput output;
wxMarkupParser parser(output);
if ( !parser.Parse(text) )
return wxString();
return output.GetText();
}