C ++剥离某些标记+替换HTML特殊字符

时间:2012-05-04 22:42:55

标签: c++ regex boost replace strip

我在处理XML标记时遇到问题(例如<smth a="xxxx">important data</smth>)。要做到这一点,我正在使用这个

std::string ex = "(&lt;)|(&gt;)|(&amp;)|(&quot;)|(&apos;)";
std::string fmt ="(?1<)(?2>)(?3&)(?4\")(?5')"; // replace just html tags
ex += "|(<a href(.*?)\">)|(</a>)|(<quote(.*?)>)|(</quote>)"; // strip else
boost::regex expr(ex);
std::string s2 = boost::regex_replace(src, expr, fmt, boost::match_default | boost::format_all);

但我注意到它导致内存泄漏。也许我做错了什么或有更有效的方式?

0 个答案:

没有答案