MyHTML は、外部依存関係のない純粋な C99 ライブラリとして実装されたスレッドを使用する高速 HTML パーサーです。
Lexbor プロジェクトの HTML パーサーを使用してください。安定していて、より多くの機能があり、そして - はい - 非常に高速です。
CHANGELOG.md ファイルを参照してください。
X_USER_DEFINED, UTF_8, UTF_16LE, UTF_16BE, BIG5, EUC_KR, GB18030,
IBM866, ISO_8859_10, ISO_8859_13, ISO_8859_14, ISO_8859_15, ISO_8859_16, ISO_8859_2, ISO_8859_3,
ISO_8859_4, ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8, KOI8_R, KOI8_U, MACINTOSH,
WINDOWS_1250, WINDOWS_1251, WINDOWS_1252, WINDOWS_1253, WINDOWS_1254, WINDOWS_1255, WINDOWS_1256,
WINDOWS_1257, WINDOWS_1258, WINDOWS_874, X_MAC_CYRILLIC, ISO_2022_JP, GBK, SHIFT_JIS, EUC_JP, ISO_8859_8_I
UTF-8 で動作し、すべてを UTF-8 で返すプログラム
現在は UTF-8、UTF-16LE、UTF16BE、ロシア語 Windows-1251、koi8-r、iso-8859-5、x-mac-cyrillic、ibm866 です。
INSTALL.md を参照してください。
導入
なし
サンプルディレクトリを参照してください
簡単な例
#include
#include
#include
#include
int main ( int argc , const char * argv [])
{
char html [] = "HTML" ;
// basic init
myhtml_t * myhtml = myhtml_create ();
myhtml_init ( myhtml , MyHTML_OPTIONS_DEFAULT , 1 , 0 );
// first tree init
myhtml_tree_t * tree = myhtml_tree_create ();
myhtml_tree_init ( tree , myhtml );
// parse html
myhtml_parse ( tree , MyENCODING_UTF_8 , html , strlen ( html ));
// print result
// or see serialization function with callback: myhtml_serialization_tree_callback
mycore_string_raw_t str = { 0 };
myhtml_serialization_tree_buffer ( myhtml_tree_get_document ( tree ), & str );
printf ( "%sn" , str . data );
// release resources
mycore_string_raw_destroy ( & str , false);
myhtml_tree_destroy ( tree );
myhtml_destroy ( myhtml );
return 0 ;
}
アレクサンダー・ボリソフ [email protected]
著作権 (C) 2015-2018 アレクサンダー・ボリソフ
このライブラリはフリー ソフトウェアです。 Free Software Foundation によって公開されている GNU Lesser General Public License の条件に基づいて、再配布したり変更したりすることができます。ライセンスのバージョン 2.1、または (オプションで) それ以降のバージョンのいずれか。
このライブラリは役立つことを期待して配布されていますが、いかなる保証もありません。商品性や特定目的への適合性についての暗黙の保証もありません。詳細については、GNU 劣等一般公衆利用許諾書を参照してください。
このライブラリと一緒に GNU Lesser General Public License のコピーを受け取っているはずです。そうでない場合は、Free Software Foundation, Inc. (51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA) までご連絡ください。
LICENSE ファイルを参照してください。