马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
cmake报错替换
if(NOT MyHTML_BUILD_WITHOUT_THREADS OR NOT MyCORE_BUILD_WITHOUT_THREADS)
set(CMAKE_THREAD_PREFER_PTHREAD 1)
if (WIN32)
set(CMAKE_USE_WIN32_THREADS_INIT ON)
set(CMAKE_THREAD_PREFER_PTHREADS TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
else ()
find_package(Threads REQUIRED)
if(NOT CMAKE_USE_PTHREADS_INIT)
message(FATAL_ERROR "Could NOT find pthreads (missing: CMAKE_USE_PTHREADS_INIT)")
endif()
endif()
endif()
测试
add_executable(example examples/myhtml/modify_and_serialize.c)
target_link_libraries(example ${PROJECT_LIB_STATIC})
代码
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <myhtml/serialization.h>
- /**
- * Write output
- * @param buffer
- * @param size
- * @param ptr
- */
- mystatus_t write_output(const char* data, size_t len, void* ctx)
- {
- printf("%.*s", (int)len, data);
- return MyCORE_STATUS_OK;
- }
- /**
- * Main procedure
- * @return int
- */
- int main()
- {
- // initalize html engine
- myhtml_t *myhtml = myhtml_create();
- myhtml_init(myhtml, MyHTML_OPTIONS_DEFAULT, 1, 0);
-
- // init tree
- myhtml_tree_t *tree = myhtml_tree_create();
- myhtml_tree_init(tree, myhtml);
-
- // input string
- const char *input = "<html><head></head><body><a href=http://nu.nl></body></html>";
-
- // parse html
- myhtml_parse(tree, MyENCODING_UTF_8, input, strlen(input));
- // collection of links
- myhtml_collection_t *collection = myhtml_get_nodes_by_name(tree, NULL, "a", 1, NULL);
-
- // iterate over all nodes
- for (size_t i = 0; i < collection->length; ++i)
- {
- // add attribute
- myhtml_attribute_add(collection->list[i], "title", 5, "my value", 8, MyENCODING_UTF_8);
- }
-
- // write the document again
- myhtml_serialization_tree_callback(myhtml_tree_get_document(tree), write_output, NULL);
-
- myhtml_collection_destroy(collection);
- myhtml_tree_destroy(tree);
- myhtml_destroy(myhtml);
-
- // done
- return 0;
- }
复制代码 修改前
"<html><head></head><body><a href=http://nu.nl></body></html>
修改后
<html><head></head><body><a href="http://nu.nl" title="my value"></a></body></html>
参考
https://github.com/lexborisov/Modest
GitHub - lexborisov/myhtml: Fast C/C++ HTML 5 Parser. Using threads.
创作不易,小小的支持一下吧!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |