xref: /PHP-5.5/ext/standard/php_string.h (revision 73c1be26)
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    | Authors: Rasmus Lerdorf <rasmus@php.net>                             |
16    |          Stig S�ther Bakken <ssb@php.net>                            |
17    +----------------------------------------------------------------------+
18 */
19 
20 /* $Id$ */
21 
22 /* Synced with php 3.0 revision 1.43 1999-06-16 [ssb] */
23 
24 #ifndef PHP_STRING_H
25 #define PHP_STRING_H
26 
27 PHP_FUNCTION(strspn);
28 PHP_FUNCTION(strcspn);
29 PHP_FUNCTION(str_replace);
30 PHP_FUNCTION(str_ireplace);
31 PHP_FUNCTION(rtrim);
32 PHP_FUNCTION(trim);
33 PHP_FUNCTION(ltrim);
34 PHP_FUNCTION(soundex);
35 PHP_FUNCTION(levenshtein);
36 
37 PHP_FUNCTION(count_chars);
38 PHP_FUNCTION(wordwrap);
39 PHP_FUNCTION(explode);
40 PHP_FUNCTION(implode);
41 PHP_FUNCTION(strtok);
42 PHP_FUNCTION(strtoupper);
43 PHP_FUNCTION(strtolower);
44 PHP_FUNCTION(basename);
45 PHP_FUNCTION(dirname);
46 PHP_FUNCTION(pathinfo);
47 PHP_FUNCTION(strstr);
48 PHP_FUNCTION(strpos);
49 PHP_FUNCTION(stripos);
50 PHP_FUNCTION(strrpos);
51 PHP_FUNCTION(strripos);
52 PHP_FUNCTION(strrchr);
53 PHP_FUNCTION(substr);
54 PHP_FUNCTION(quotemeta);
55 PHP_FUNCTION(ucfirst);
56 PHP_FUNCTION(lcfirst);
57 PHP_FUNCTION(ucwords);
58 PHP_FUNCTION(strtr);
59 PHP_FUNCTION(strrev);
60 PHP_FUNCTION(hebrev);
61 PHP_FUNCTION(hebrevc);
62 PHP_FUNCTION(user_sprintf);
63 PHP_FUNCTION(user_printf);
64 PHP_FUNCTION(vprintf);
65 PHP_FUNCTION(vsprintf);
66 PHP_FUNCTION(addcslashes);
67 PHP_FUNCTION(addslashes);
68 PHP_FUNCTION(stripcslashes);
69 PHP_FUNCTION(stripslashes);
70 PHP_FUNCTION(chr);
71 PHP_FUNCTION(ord);
72 PHP_FUNCTION(nl2br);
73 PHP_FUNCTION(setlocale);
74 PHP_FUNCTION(localeconv);
75 PHP_FUNCTION(nl_langinfo);
76 PHP_FUNCTION(stristr);
77 PHP_FUNCTION(chunk_split);
78 PHP_FUNCTION(parse_str);
79 PHP_FUNCTION(str_getcsv);
80 PHP_FUNCTION(bin2hex);
81 PHP_FUNCTION(hex2bin);
82 PHP_FUNCTION(similar_text);
83 PHP_FUNCTION(strip_tags);
84 PHP_FUNCTION(str_repeat);
85 PHP_FUNCTION(substr_replace);
86 PHP_FUNCTION(strnatcmp);
87 PHP_FUNCTION(strnatcasecmp);
88 PHP_FUNCTION(substr_count);
89 PHP_FUNCTION(str_pad);
90 PHP_FUNCTION(sscanf);
91 PHP_FUNCTION(str_shuffle);
92 PHP_FUNCTION(str_word_count);
93 PHP_FUNCTION(str_split);
94 PHP_FUNCTION(strpbrk);
95 PHP_FUNCTION(substr_compare);
96 #ifdef HAVE_STRCOLL
97 PHP_FUNCTION(strcoll);
98 #endif
99 #if HAVE_STRFMON
100 PHP_FUNCTION(money_format);
101 #endif
102 
103 #if defined(HAVE_LOCALECONV) && defined(ZTS)
104 PHP_MINIT_FUNCTION(localeconv);
105 PHP_MSHUTDOWN_FUNCTION(localeconv);
106 #endif
107 #if HAVE_NL_LANGINFO
108 PHP_MINIT_FUNCTION(nl_langinfo);
109 #endif
110 
111 #define strnatcmp(a, b) \
112 	strnatcmp_ex(a, strlen(a), b, strlen(b), 0)
113 #define strnatcasecmp(a, b) \
114 	strnatcmp_ex(a, strlen(a), b, strlen(b), 1)
115 PHPAPI int strnatcmp_ex(char const *a, size_t a_len, char const *b, size_t b_len, int fold_case);
116 
117 #ifdef HAVE_LOCALECONV
118 PHPAPI struct lconv *localeconv_r(struct lconv *out);
119 #endif
120 
121 PHPAPI char *php_strtoupper(char *s, size_t len);
122 PHPAPI char *php_strtolower(char *s, size_t len);
123 PHPAPI char *php_strtr(char *str, int len, char *str_from, char *str_to, int trlen);
124 PHPAPI char *php_addslashes(char *str, int length, int *new_length, int freeit TSRMLS_DC);
125 PHPAPI char *php_addcslashes(const char *str, int length, int *new_length, int freeit, char *what, int wlength TSRMLS_DC);
126 PHPAPI void php_stripslashes(char *str, int *len TSRMLS_DC);
127 PHPAPI void php_stripcslashes(char *str, int *len);
128 PHPAPI void php_basename(const char *s, size_t len, char *suffix, size_t sufflen, char **p_ret, size_t *p_len TSRMLS_DC);
129 PHPAPI size_t php_dirname(char *str, size_t len);
130 PHPAPI char *php_stristr(char *s, char *t, size_t s_len, size_t t_len);
131 PHPAPI char *php_str_to_str_ex(char *haystack, int length, char *needle,
132 		int needle_len, char *str, int str_len, int *_new_length, int case_sensitivity, int *replace_count);
133 PHPAPI char *php_str_to_str(char *haystack, int length, char *needle,
134 		int needle_len, char *str, int str_len, int *_new_length);
135 PHPAPI char *php_trim(char *c, int len, char *what, int what_len, zval *return_value, int mode TSRMLS_DC);
136 PHPAPI size_t php_strip_tags(char *rbuf, int len, int *state, char *allow, int allow_len);
137 PHPAPI size_t php_strip_tags_ex(char *rbuf, int len, int *stateptr, char *allow, int allow_len, zend_bool allow_tag_spaces);
138 PHPAPI int php_char_to_str_ex(char *str, uint len, char from, char *to, int to_len, zval *result, int case_sensitivity, int *replace_count);
139 PHPAPI int php_char_to_str(char *str, uint len, char from, char *to, int to_len, zval *result);
140 PHPAPI void php_implode(zval *delim, zval *arr, zval *return_value TSRMLS_DC);
141 PHPAPI void php_explode(zval *delim, zval *str, zval *return_value, long limit);
142 
143 PHPAPI size_t php_strspn(char *s1, char *s2, char *s1_end, char *s2_end);
144 PHPAPI size_t php_strcspn(char *s1, char *s2, char *s1_end, char *s2_end);
145 
146 PHPAPI int string_natural_compare_function_ex(zval *result, zval *op1, zval *op2, zend_bool case_insensitive TSRMLS_DC);
147 PHPAPI int string_natural_compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
148 PHPAPI int string_natural_case_compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
149 
150 #ifndef HAVE_STRERROR
151 PHPAPI char *php_strerror(int errnum);
152 #define strerror php_strerror
153 #endif
154 
155 #ifndef HAVE_MBLEN
156 # define php_mblen(ptr, len) 1
157 #else
158 # if defined(_REENTRANT) && defined(HAVE_MBRLEN) && defined(HAVE_MBSTATE_T)
159 #  define php_mblen(ptr, len) ((ptr) == NULL ? memset(&BG(mblen_state), 0, sizeof(BG(mblen_state))): (int)mbrlen(ptr, len, &BG(mblen_state)))
160 # else
161 #  define php_mblen(ptr, len) mblen(ptr, len)
162 # endif
163 #endif
164 
165 void register_string_constants(INIT_FUNC_ARGS);
166 
167 #endif /* PHP_STRING_H */
168