1/*
2 +----------------------------------------------------------------------+
3 | PHP Version 5 |
4 +----------------------------------------------------------------------+
5 | Copyright (c) 1997-2015 The PHP Group |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 3.01 of the PHP license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.php.net/license/3_01.txt |
11 | If you did not receive a copy of the PHP license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@php.net so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
15 | Author: Rasmus Lerdorf <rasmus@lerdorf.on.ca> |
16 +----------------------------------------------------------------------+
17*/
18
19/* $Id$ */
20
21#ifndef HTML_H
22#define HTML_H
23
24#define ENT_HTML_QUOTE_NONE 0
25#define ENT_HTML_QUOTE_SINGLE 1
26#define ENT_HTML_QUOTE_DOUBLE 2
27#define ENT_HTML_IGNORE_ERRORS 4
28#define ENT_HTML_SUBSTITUTE_ERRORS 8
29#define ENT_HTML_DOC_TYPE_MASK (16|32)
30#define ENT_HTML_DOC_HTML401 0
31#define ENT_HTML_DOC_XML1 16
32#define ENT_HTML_DOC_XHTML 32
33#define ENT_HTML_DOC_HTML5 (16|32)
34/* reserve bit 6 */
35#define ENT_HTML_SUBSTITUTE_DISALLOWED_CHARS 128
36
37
38#define ENT_COMPAT ENT_HTML_QUOTE_DOUBLE
39#define ENT_QUOTES (ENT_HTML_QUOTE_DOUBLE | ENT_HTML_QUOTE_SINGLE)
40#define ENT_NOQUOTES ENT_HTML_QUOTE_NONE
41#define ENT_IGNORE ENT_HTML_IGNORE_ERRORS
42#define ENT_SUBSTITUTE ENT_HTML_SUBSTITUTE_ERRORS
43#define ENT_HTML401 0
44#define ENT_XML1 16
45#define ENT_XHTML 32
46#define ENT_HTML5 (16|32)
47#define ENT_DISALLOWED 128
48
49void register_html_constants(INIT_FUNC_ARGS);
50
51PHP_FUNCTION(htmlspecialchars);
52PHP_FUNCTION(htmlentities);
53PHP_FUNCTION(htmlspecialchars_decode);
54PHP_FUNCTION(html_entity_decode);
55PHP_FUNCTION(get_html_translation_table);
56
57PHPAPI char *php_escape_html_entities(unsigned char *old, size_t oldlen, size_t *newlen, int all, int flags, char *hint_charset TSRMLS_DC);
58PHPAPI char *php_escape_html_entities_ex(unsigned char *old, size_t oldlen, size_t *newlen, int all, int flags, char *hint_charset, zend_bool double_encode TSRMLS_DC);
59PHPAPI char *php_unescape_html_entities(unsigned char *old, size_t oldlen, size_t *newlen, int all, int flags, char *hint_charset TSRMLS_DC);
60PHPAPI unsigned int php_next_utf8_char(const unsigned char *str, size_t str_len, size_t *cursor, int *status);
61
62#endif /* HTML_H */
63