1999-04-17 00:37:12 +00:00
|
|
|
|
/*
|
|
|
|
|
+----------------------------------------------------------------------+
|
2014-09-19 16:33:14 +00:00
|
|
|
|
| PHP Version 7 |
|
1999-04-17 00:37:12 +00:00
|
|
|
|
+----------------------------------------------------------------------+
|
2015-01-15 15:27:30 +00:00
|
|
|
|
| Copyright (c) 1997-2015 The PHP Group |
|
1999-04-17 00:37:12 +00:00
|
|
|
|
+----------------------------------------------------------------------+
|
2006-01-01 12:51:34 +00:00
|
|
|
|
| This source file is subject to version 3.01 of the PHP license, |
|
2000-07-24 01:40:02 +00:00
|
|
|
|
| that is bundled with this package in the file LICENSE, and is |
|
2003-06-10 20:04:29 +00:00
|
|
|
|
| available through the world-wide-web at the following url: |
|
2006-01-01 12:51:34 +00:00
|
|
|
|
| http://www.php.net/license/3_01.txt |
|
2000-07-24 01:40:02 +00:00
|
|
|
|
| If you did not receive a copy of the PHP license and are unable to |
|
|
|
|
|
| obtain it through the world-wide-web, please send a note to |
|
|
|
|
|
| license@php.net so we can mail you a copy immediately. |
|
1999-04-17 00:37:12 +00:00
|
|
|
|
+----------------------------------------------------------------------+
|
2002-02-28 08:29:35 +00:00
|
|
|
|
| Authors: Rasmus Lerdorf <rasmus@php.net> |
|
2003-03-18 12:06:09 +00:00
|
|
|
|
| Stig S<EFBFBD>ther Bakken <ssb@php.net> |
|
1999-04-17 00:37:12 +00:00
|
|
|
|
+----------------------------------------------------------------------+
|
2000-07-24 01:40:02 +00:00
|
|
|
|
*/
|
1999-04-17 00:37:12 +00:00
|
|
|
|
|
|
|
|
|
/* $Id$ */
|
|
|
|
|
|
1999-12-18 04:01:20 +00:00
|
|
|
|
/* Synced with php 3.0 revision 1.43 1999-06-16 [ssb] */
|
* fixed some #if/#ifdef issues
* hand-patched in php3 changes from 3.0.6 to HEAD in these files:
fopen-wrappers.[ch] ext/standard/file.[ch] ext/standard/fsock.[ch]
ext/standard/php3_string.h ext/standard/string.c
* added some new file/socket macros for more readable code:
FP_FGETS(buf,len,sock,fp,issock)
FP_FREAD(buf,len,sock,fp,issock)
FP_FEOF(sock,fp,issock)
FP_FGETC(sock,fp,issock)
1999-06-16 17:06:53 +00:00
|
|
|
|
|
2000-07-03 00:41:19 +00:00
|
|
|
|
#ifndef PHP_STRING_H
|
|
|
|
|
#define PHP_STRING_H
|
1999-04-17 00:37:12 +00:00
|
|
|
|
|
1999-05-16 11:19:26 +00:00
|
|
|
|
PHP_FUNCTION(strspn);
|
|
|
|
|
PHP_FUNCTION(strcspn);
|
|
|
|
|
PHP_FUNCTION(str_replace);
|
2003-01-30 05:00:41 +00:00
|
|
|
|
PHP_FUNCTION(str_ireplace);
|
2001-09-23 18:32:46 +00:00
|
|
|
|
PHP_FUNCTION(rtrim);
|
1999-05-16 11:19:26 +00:00
|
|
|
|
PHP_FUNCTION(trim);
|
|
|
|
|
PHP_FUNCTION(ltrim);
|
1999-07-24 22:16:54 +00:00
|
|
|
|
PHP_FUNCTION(soundex);
|
2000-05-23 14:37:39 +00:00
|
|
|
|
PHP_FUNCTION(levenshtein);
|
1999-04-17 00:37:12 +00:00
|
|
|
|
|
1999-12-14 03:52:12 +00:00
|
|
|
|
PHP_FUNCTION(count_chars);
|
2000-07-22 01:12:24 +00:00
|
|
|
|
PHP_FUNCTION(wordwrap);
|
1999-05-16 11:19:26 +00:00
|
|
|
|
PHP_FUNCTION(explode);
|
|
|
|
|
PHP_FUNCTION(implode);
|
|
|
|
|
PHP_FUNCTION(strtok);
|
|
|
|
|
PHP_FUNCTION(strtoupper);
|
|
|
|
|
PHP_FUNCTION(strtolower);
|
|
|
|
|
PHP_FUNCTION(basename);
|
|
|
|
|
PHP_FUNCTION(dirname);
|
2000-09-10 05:59:16 +00:00
|
|
|
|
PHP_FUNCTION(pathinfo);
|
1999-05-16 11:19:26 +00:00
|
|
|
|
PHP_FUNCTION(strstr);
|
|
|
|
|
PHP_FUNCTION(strpos);
|
2003-01-29 00:07:01 +00:00
|
|
|
|
PHP_FUNCTION(stripos);
|
1999-05-16 11:19:26 +00:00
|
|
|
|
PHP_FUNCTION(strrpos);
|
2003-01-29 00:07:01 +00:00
|
|
|
|
PHP_FUNCTION(strripos);
|
1999-05-16 11:19:26 +00:00
|
|
|
|
PHP_FUNCTION(strrchr);
|
|
|
|
|
PHP_FUNCTION(substr);
|
|
|
|
|
PHP_FUNCTION(quotemeta);
|
|
|
|
|
PHP_FUNCTION(ucfirst);
|
2008-01-19 19:27:22 +00:00
|
|
|
|
PHP_FUNCTION(lcfirst);
|
1999-05-16 11:19:26 +00:00
|
|
|
|
PHP_FUNCTION(ucwords);
|
|
|
|
|
PHP_FUNCTION(strtr);
|
|
|
|
|
PHP_FUNCTION(strrev);
|
|
|
|
|
PHP_FUNCTION(hebrev);
|
* fixed some #if/#ifdef issues
* hand-patched in php3 changes from 3.0.6 to HEAD in these files:
fopen-wrappers.[ch] ext/standard/file.[ch] ext/standard/fsock.[ch]
ext/standard/php3_string.h ext/standard/string.c
* added some new file/socket macros for more readable code:
FP_FGETS(buf,len,sock,fp,issock)
FP_FREAD(buf,len,sock,fp,issock)
FP_FEOF(sock,fp,issock)
FP_FGETC(sock,fp,issock)
1999-06-16 17:06:53 +00:00
|
|
|
|
PHP_FUNCTION(hebrevc);
|
1999-05-16 11:19:26 +00:00
|
|
|
|
PHP_FUNCTION(user_sprintf);
|
|
|
|
|
PHP_FUNCTION(user_printf);
|
2001-08-07 19:44:45 +00:00
|
|
|
|
PHP_FUNCTION(vprintf);
|
|
|
|
|
PHP_FUNCTION(vsprintf);
|
1999-09-05 20:55:13 +00:00
|
|
|
|
PHP_FUNCTION(addcslashes);
|
1999-05-16 11:19:26 +00:00
|
|
|
|
PHP_FUNCTION(addslashes);
|
1999-09-05 20:55:13 +00:00
|
|
|
|
PHP_FUNCTION(stripcslashes);
|
1999-05-16 11:19:26 +00:00
|
|
|
|
PHP_FUNCTION(stripslashes);
|
|
|
|
|
PHP_FUNCTION(chr);
|
|
|
|
|
PHP_FUNCTION(ord);
|
* fixed some #if/#ifdef issues
* hand-patched in php3 changes from 3.0.6 to HEAD in these files:
fopen-wrappers.[ch] ext/standard/file.[ch] ext/standard/fsock.[ch]
ext/standard/php3_string.h ext/standard/string.c
* added some new file/socket macros for more readable code:
FP_FGETS(buf,len,sock,fp,issock)
FP_FREAD(buf,len,sock,fp,issock)
FP_FEOF(sock,fp,issock)
FP_FGETC(sock,fp,issock)
1999-06-16 17:06:53 +00:00
|
|
|
|
PHP_FUNCTION(nl2br);
|
1999-05-16 11:19:26 +00:00
|
|
|
|
PHP_FUNCTION(setlocale);
|
2001-01-14 16:36:30 +00:00
|
|
|
|
PHP_FUNCTION(localeconv);
|
2001-07-04 10:10:30 +00:00
|
|
|
|
PHP_FUNCTION(nl_langinfo);
|
1999-05-16 11:19:26 +00:00
|
|
|
|
PHP_FUNCTION(stristr);
|
|
|
|
|
PHP_FUNCTION(chunk_split);
|
1999-07-24 22:16:54 +00:00
|
|
|
|
PHP_FUNCTION(parse_str);
|
2008-11-02 18:24:34 +00:00
|
|
|
|
PHP_FUNCTION(str_getcsv);
|
1999-05-16 11:12:23 +00:00
|
|
|
|
PHP_FUNCTION(bin2hex);
|
2011-06-03 00:12:22 +00:00
|
|
|
|
PHP_FUNCTION(hex2bin);
|
* fixed some #if/#ifdef issues
* hand-patched in php3 changes from 3.0.6 to HEAD in these files:
fopen-wrappers.[ch] ext/standard/file.[ch] ext/standard/fsock.[ch]
ext/standard/php3_string.h ext/standard/string.c
* added some new file/socket macros for more readable code:
FP_FGETS(buf,len,sock,fp,issock)
FP_FREAD(buf,len,sock,fp,issock)
FP_FEOF(sock,fp,issock)
FP_FGETC(sock,fp,issock)
1999-06-16 17:06:53 +00:00
|
|
|
|
PHP_FUNCTION(similar_text);
|
1999-07-23 22:35:14 +00:00
|
|
|
|
PHP_FUNCTION(strip_tags);
|
1999-10-27 22:06:05 +00:00
|
|
|
|
PHP_FUNCTION(str_repeat);
|
1999-11-16 22:44:13 +00:00
|
|
|
|
PHP_FUNCTION(substr_replace);
|
2000-04-12 19:39:02 +00:00
|
|
|
|
PHP_FUNCTION(strnatcmp);
|
|
|
|
|
PHP_FUNCTION(strnatcasecmp);
|
2000-04-26 00:29:59 +00:00
|
|
|
|
PHP_FUNCTION(substr_count);
|
2000-06-06 20:42:33 +00:00
|
|
|
|
PHP_FUNCTION(str_pad);
|
2000-06-06 18:58:15 +00:00
|
|
|
|
PHP_FUNCTION(sscanf);
|
2002-09-25 18:06:05 +00:00
|
|
|
|
PHP_FUNCTION(str_shuffle);
|
2002-10-17 22:44:44 +00:00
|
|
|
|
PHP_FUNCTION(str_word_count);
|
2003-02-07 21:36:18 +00:00
|
|
|
|
PHP_FUNCTION(str_split);
|
2003-02-11 22:47:26 +00:00
|
|
|
|
PHP_FUNCTION(strpbrk);
|
2003-10-30 00:49:33 +00:00
|
|
|
|
PHP_FUNCTION(substr_compare);
|
2001-01-17 01:10:50 +00:00
|
|
|
|
#ifdef HAVE_STRCOLL
|
|
|
|
|
PHP_FUNCTION(strcoll);
|
|
|
|
|
#endif
|
2002-08-02 10:08:53 +00:00
|
|
|
|
#if HAVE_STRFMON
|
|
|
|
|
PHP_FUNCTION(money_format);
|
|
|
|
|
#endif
|
2001-01-15 10:48:48 +00:00
|
|
|
|
|
2001-01-17 20:37:49 +00:00
|
|
|
|
#if defined(HAVE_LOCALECONV) && defined(ZTS)
|
2001-01-15 10:48:48 +00:00
|
|
|
|
PHP_MINIT_FUNCTION(localeconv);
|
|
|
|
|
PHP_MSHUTDOWN_FUNCTION(localeconv);
|
|
|
|
|
#endif
|
2001-07-04 10:10:30 +00:00
|
|
|
|
#if HAVE_NL_LANGINFO
|
|
|
|
|
PHP_MINIT_FUNCTION(nl_langinfo);
|
|
|
|
|
#endif
|
2001-01-15 10:48:48 +00:00
|
|
|
|
|
2000-04-12 19:39:02 +00:00
|
|
|
|
#define strnatcmp(a, b) \
|
|
|
|
|
strnatcmp_ex(a, strlen(a), b, strlen(b), 0)
|
|
|
|
|
#define strnatcasecmp(a, b) \
|
|
|
|
|
strnatcmp_ex(a, strlen(a), b, strlen(b), 1)
|
|
|
|
|
PHPAPI int strnatcmp_ex(char const *a, size_t a_len, char const *b, size_t b_len, int fold_case);
|
1999-04-17 00:37:12 +00:00
|
|
|
|
|
2002-07-03 18:23:24 +00:00
|
|
|
|
#ifdef HAVE_LOCALECONV
|
2004-11-03 23:36:51 +00:00
|
|
|
|
PHPAPI struct lconv *localeconv_r(struct lconv *out);
|
2002-07-03 18:23:24 +00:00
|
|
|
|
#endif
|
|
|
|
|
|
2000-02-10 19:41:21 +00:00
|
|
|
|
PHPAPI char *php_strtoupper(char *s, size_t len);
|
|
|
|
|
PHPAPI char *php_strtolower(char *s, size_t len);
|
2014-12-25 03:28:54 +00:00
|
|
|
|
PHPAPI zend_string *php_string_toupper(zend_string *s);
|
|
|
|
|
PHPAPI zend_string *php_string_tolower(zend_string *s);
|
2014-08-25 18:22:49 +00:00
|
|
|
|
PHPAPI char *php_strtr(char *str, size_t len, char *str_from, char *str_to, size_t trlen);
|
2015-01-19 15:46:39 +00:00
|
|
|
|
PHPAPI zend_string *php_addslashes(zend_string *str, int should_free);
|
2015-01-20 02:59:28 +00:00
|
|
|
|
PHPAPI zend_string *php_addcslashes(zend_string *str, int freeit, char *what, size_t what_len);
|
|
|
|
|
PHPAPI void php_stripslashes(zend_string *str);
|
|
|
|
|
PHPAPI void php_stripcslashes(zend_string *str);
|
2014-12-13 22:06:14 +00:00
|
|
|
|
PHPAPI zend_string *php_basename(const char *s, size_t len, char *suffix, size_t sufflen);
|
2003-04-12 21:56:08 +00:00
|
|
|
|
PHPAPI size_t php_dirname(char *str, size_t len);
|
2009-08-13 06:44:50 +00:00
|
|
|
|
PHPAPI char *php_stristr(char *s, char *t, size_t s_len, size_t t_len);
|
2014-08-25 18:22:49 +00:00
|
|
|
|
PHPAPI zend_string *php_str_to_str(char *haystack, size_t length, char *needle,
|
|
|
|
|
size_t needle_len, char *str, size_t str_len);
|
2014-12-23 01:29:41 +00:00
|
|
|
|
PHPAPI zend_string *php_trim(zend_string *str, char *what, size_t what_len, int mode);
|
2014-08-25 18:22:49 +00:00
|
|
|
|
PHPAPI size_t php_strip_tags(char *rbuf, size_t len, int *state, char *allow, size_t allow_len);
|
|
|
|
|
PHPAPI size_t php_strip_tags_ex(char *rbuf, size_t len, int *stateptr, char *allow, size_t allow_len, zend_bool allow_tag_spaces);
|
2014-12-13 22:06:14 +00:00
|
|
|
|
PHPAPI void php_implode(const zend_string *delim, zval *arr, zval *return_value);
|
2014-10-07 14:43:50 +00:00
|
|
|
|
PHPAPI void php_explode(const zend_string *delim, zend_string *str, zval *return_value, zend_long limit);
|
2000-09-27 15:18:00 +00:00
|
|
|
|
|
2000-02-10 19:41:21 +00:00
|
|
|
|
PHPAPI size_t php_strspn(char *s1, char *s2, char *s1_end, char *s2_end);
|
|
|
|
|
PHPAPI size_t php_strcspn(char *s1, char *s2, char *s1_end, char *s2_end);
|
|
|
|
|
|
2014-12-13 22:06:14 +00:00
|
|
|
|
PHPAPI int string_natural_compare_function_ex(zval *result, zval *op1, zval *op2, zend_bool case_insensitive);
|
|
|
|
|
PHPAPI int string_natural_compare_function(zval *result, zval *op1, zval *op2);
|
|
|
|
|
PHPAPI int string_natural_case_compare_function(zval *result, zval *op1, zval *op2);
|
2011-08-29 20:23:34 +00:00
|
|
|
|
|
2000-02-10 19:41:21 +00:00
|
|
|
|
#ifndef HAVE_STRERROR
|
|
|
|
|
PHPAPI char *php_strerror(int errnum);
|
|
|
|
|
#define strerror php_strerror
|
|
|
|
|
#endif
|
1999-04-17 00:37:12 +00:00
|
|
|
|
|
2003-12-10 06:08:39 +00:00
|
|
|
|
#ifndef HAVE_MBLEN
|
|
|
|
|
# define php_mblen(ptr, len) 1
|
2014-09-03 18:37:04 +00:00
|
|
|
|
# define php_mb_reset()
|
|
|
|
|
#elif defined(_REENTRANT) && defined(HAVE_MBRLEN) && defined(HAVE_MBSTATE_T)
|
|
|
|
|
# define php_mblen(ptr, len) ((int) mbrlen(ptr, len, &BG(mblen_state)))
|
|
|
|
|
# define php_mb_reset() memset(&BG(mblen_state), 0, sizeof(BG(mblen_state)))
|
2003-12-10 06:08:39 +00:00
|
|
|
|
#else
|
2014-09-03 18:37:04 +00:00
|
|
|
|
# define php_mblen(ptr, len) mblen(ptr, len)
|
|
|
|
|
# define php_mb_reset() mblen(NULL, 0)
|
2003-12-10 06:08:39 +00:00
|
|
|
|
#endif
|
|
|
|
|
|
2000-07-08 20:38:23 +00:00
|
|
|
|
void register_string_constants(INIT_FUNC_ARGS);
|
|
|
|
|
|
2000-07-03 00:41:19 +00:00
|
|
|
|
#endif /* PHP_STRING_H */
|