php_string.h 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /*
  2. +----------------------------------------------------------------------+
  3. | Copyright (c) The PHP Group |
  4. +----------------------------------------------------------------------+
  5. | This source file is subject to version 3.01 of the PHP license, |
  6. | that is bundled with this package in the file LICENSE, and is |
  7. | available through the world-wide-web at the following url: |
  8. | https://www.php.net/license/3_01.txt |
  9. | If you did not receive a copy of the PHP license and are unable to |
  10. | obtain it through the world-wide-web, please send a note to |
  11. | license@php.net so we can mail you a copy immediately. |
  12. +----------------------------------------------------------------------+
  13. | Authors: Rasmus Lerdorf <rasmus@php.net> |
  14. | Stig Sæther Bakken <ssb@php.net> |
  15. +----------------------------------------------------------------------+
  16. */
  17. #ifndef PHP_STRING_H
  18. #define PHP_STRING_H
  19. #if defined(ZTS)
  20. PHP_MINIT_FUNCTION(localeconv);
  21. PHP_MSHUTDOWN_FUNCTION(localeconv);
  22. #endif
  23. #if HAVE_NL_LANGINFO
  24. PHP_MINIT_FUNCTION(nl_langinfo);
  25. #endif
  26. #if ZEND_INTRIN_SSE4_2_FUNC_PTR
  27. PHP_MINIT_FUNCTION(string_intrin);
  28. #endif
  29. #define strnatcmp(a, b) \
  30. strnatcmp_ex(a, strlen(a), b, strlen(b), 0)
  31. #define strnatcasecmp(a, b) \
  32. strnatcmp_ex(a, strlen(a), b, strlen(b), 1)
  33. PHPAPI int strnatcmp_ex(char const *a, size_t a_len, char const *b, size_t b_len, int fold_case);
  34. PHPAPI struct lconv *localeconv_r(struct lconv *out);
  35. PHPAPI char *php_strtoupper(char *s, size_t len);
  36. PHPAPI char *php_strtolower(char *s, size_t len);
  37. PHPAPI zend_string *php_string_toupper(zend_string *s);
  38. PHPAPI zend_string *php_string_tolower(zend_string *s);
  39. PHPAPI char *php_strtr(char *str, size_t len, const char *str_from, const char *str_to, size_t trlen);
  40. PHPAPI zend_string *php_addslashes(zend_string *str);
  41. PHPAPI void php_stripslashes(zend_string *str);
  42. PHPAPI zend_string *php_addcslashes_str(const char *str, size_t len, const char *what, size_t what_len);
  43. PHPAPI zend_string *php_addcslashes(zend_string *str, const char *what, size_t what_len);
  44. PHPAPI void php_stripcslashes(zend_string *str);
  45. PHPAPI zend_string *php_basename(const char *s, size_t len, const char *suffix, size_t sufflen);
  46. PHPAPI size_t php_dirname(char *str, size_t len);
  47. PHPAPI char *php_stristr(char *s, char *t, size_t s_len, size_t t_len);
  48. PHPAPI zend_string *php_str_to_str(const char *haystack, size_t length, const char *needle,
  49. size_t needle_len, const char *str, size_t str_len);
  50. PHPAPI zend_string *php_trim(zend_string *str, const char *what, size_t what_len, int mode);
  51. PHPAPI size_t php_strip_tags(char *rbuf, size_t len, const char *allow, size_t allow_len);
  52. PHPAPI size_t php_strip_tags_ex(char *rbuf, size_t len, const char *allow, size_t allow_len, bool allow_tag_spaces);
  53. PHPAPI void php_implode(const zend_string *delim, HashTable *arr, zval *return_value);
  54. PHPAPI void php_explode(const zend_string *delim, zend_string *str, zval *return_value, zend_long limit);
  55. PHPAPI size_t php_strspn(const char *s1, const char *s2, const char *s1_end, const char *s2_end);
  56. PHPAPI size_t php_strcspn(const char *s1, const char *s2, const char *s1_end, const char *s2_end);
  57. PHPAPI int string_natural_compare_function_ex(zval *result, zval *op1, zval *op2, bool case_insensitive);
  58. PHPAPI int string_natural_compare_function(zval *result, zval *op1, zval *op2);
  59. PHPAPI int string_natural_case_compare_function(zval *result, zval *op1, zval *op2);
  60. #if defined(_REENTRANT)
  61. # ifdef PHP_WIN32
  62. # include <wchar.h>
  63. # endif
  64. # define php_mblen(ptr, len) ((int) mbrlen(ptr, len, &BG(mblen_state)))
  65. # define php_mb_reset() memset(&BG(mblen_state), 0, sizeof(BG(mblen_state)))
  66. #else
  67. # define php_mblen(ptr, len) mblen(ptr, len)
  68. # define php_mb_reset() php_ignore_value(mblen(NULL, 0))
  69. #endif
  70. void register_string_constants(INIT_FUNC_ARGS);
  71. #endif /* PHP_STRING_H */