如何使用 libxml2 HTMLParser 将 HTML 转换为文本时删除空格
如何将多个空格压缩为单个/删除此处的所有空格?请参阅以下源代码和示例输入。
void walkTree(xmlNode * a_node) {
xmlNode *cur_node = NULL;
for (cur_node = a_node; cur_node; cur_node = cur_node->next) {
if (cur_node->type == XML_TEXT_NODE) {
printf("%s", cur_node->content);
}
walkTree(cur_node->children);
}
}
void main () {
htmlParserCtxtPtr parser = htmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL, 0);
htmlCtxtUseOptions(parser, HTML_PARSE_NOBLANKS | HTML_PARSE_NOERROR | HTML_PARSE_NOWARNING | HTML_PARSE_NONET);
len = ReadFile(data);
htmlParseChunk(parser, data, len, 0);
walkTree(xmlDocGetRootElement(parser->myDoc));
}
input: "<table><tbody><tr><td><b>Updated by:</b> </td><td >Test</td></tr></tbody></table><br/>"
output: "Updated by: Test"
谢谢。
How to condense multiple white spaces to single/remove all white spaces here? see the following source code and example input.
void walkTree(xmlNode * a_node) {
xmlNode *cur_node = NULL;
for (cur_node = a_node; cur_node; cur_node = cur_node->next) {
if (cur_node->type == XML_TEXT_NODE) {
printf("%s", cur_node->content);
}
walkTree(cur_node->children);
}
}
void main () {
htmlParserCtxtPtr parser = htmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL, 0);
htmlCtxtUseOptions(parser, HTML_PARSE_NOBLANKS | HTML_PARSE_NOERROR | HTML_PARSE_NOWARNING | HTML_PARSE_NONET);
len = ReadFile(data);
htmlParseChunk(parser, data, len, 0);
walkTree(xmlDocGetRootElement(parser->myDoc));
}
input: "<table><tbody><tr><td><b>Updated by:</b> </td><td >Test</td></tr></tbody></table><br/>"
output: "Updated by: Test"
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试使用这个功能:
Try to use this function: