1 /* This is a generated file, edit the .stub.php file instead.
2 * Stub hash: 63de1d37ab303e1d6af7c96eaeeba09d7f35d116 */
3
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_preg_match, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
5 ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
6 ZEND_ARG_TYPE_INFO(0, subject, IS_STRING, 0)
7 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, matches, "null")
8 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
9 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "0")
10 ZEND_END_ARG_INFO()
11
12 #define arginfo_preg_match_all arginfo_preg_match
13
14 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_preg_replace, 0, 3, MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_NULL)
15 ZEND_ARG_TYPE_MASK(0, pattern, MAY_BE_STRING|MAY_BE_ARRAY, NULL)
16 ZEND_ARG_TYPE_MASK(0, replacement, MAY_BE_STRING|MAY_BE_ARRAY, NULL)
17 ZEND_ARG_TYPE_MASK(0, subject, MAY_BE_STRING|MAY_BE_ARRAY, NULL)
18 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, limit, IS_LONG, 0, "-1")
19 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, count, "null")
20 ZEND_END_ARG_INFO()
21
22 #define arginfo_preg_filter arginfo_preg_replace
23
24 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_preg_replace_callback, 0, 3, MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_NULL)
25 ZEND_ARG_TYPE_MASK(0, pattern, MAY_BE_STRING|MAY_BE_ARRAY, NULL)
26 ZEND_ARG_TYPE_INFO(0, callback, IS_CALLABLE, 0)
27 ZEND_ARG_TYPE_MASK(0, subject, MAY_BE_STRING|MAY_BE_ARRAY, NULL)
28 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, limit, IS_LONG, 0, "-1")
29 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, count, "null")
30 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
31 ZEND_END_ARG_INFO()
32
33 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_preg_replace_callback_array, 0, 2, MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_NULL)
34 ZEND_ARG_TYPE_INFO(0, pattern, IS_ARRAY, 0)
35 ZEND_ARG_TYPE_MASK(0, subject, MAY_BE_STRING|MAY_BE_ARRAY, NULL)
36 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, limit, IS_LONG, 0, "-1")
37 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, count, "null")
38 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
39 ZEND_END_ARG_INFO()
40
41 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_preg_split, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
42 ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
43 ZEND_ARG_TYPE_INFO(0, subject, IS_STRING, 0)
44 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, limit, IS_LONG, 0, "-1")
45 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
46 ZEND_END_ARG_INFO()
47
48 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_preg_quote, 0, 1, IS_STRING, 0)
49 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
50 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, delimiter, IS_STRING, 1, "null")
51 ZEND_END_ARG_INFO()
52
53 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_preg_grep, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
54 ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
55 ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0)
56 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
57 ZEND_END_ARG_INFO()
58
59 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_preg_last_error, 0, 0, IS_LONG, 0)
60 ZEND_END_ARG_INFO()
61
62 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_preg_last_error_msg, 0, 0, IS_STRING, 0)
63 ZEND_END_ARG_INFO()
64
65 ZEND_FRAMELESS_FUNCTION(preg_match, 2);
66 static const zend_frameless_function_info frameless_function_infos_preg_match[] = {
67 { ZEND_FRAMELESS_FUNCTION_NAME(preg_match, 2), 2 },
68 { 0 },
69 };
70
71 ZEND_FRAMELESS_FUNCTION(preg_replace, 3);
72 static const zend_frameless_function_info frameless_function_infos_preg_replace[] = {
73 { ZEND_FRAMELESS_FUNCTION_NAME(preg_replace, 3), 3 },
74 { 0 },
75 };
76
77
78 ZEND_FUNCTION(preg_match);
79 ZEND_FUNCTION(preg_match_all);
80 ZEND_FUNCTION(preg_replace);
81 ZEND_FUNCTION(preg_filter);
82 ZEND_FUNCTION(preg_replace_callback);
83 ZEND_FUNCTION(preg_replace_callback_array);
84 ZEND_FUNCTION(preg_split);
85 ZEND_FUNCTION(preg_quote);
86 ZEND_FUNCTION(preg_grep);
87 ZEND_FUNCTION(preg_last_error);
88 ZEND_FUNCTION(preg_last_error_msg);
89
90
91 static const zend_function_entry ext_functions[] = {
92 ZEND_FRAMELESS_FE(preg_match, arginfo_preg_match, 0, frameless_function_infos_preg_match)
93 ZEND_FE(preg_match_all, arginfo_preg_match_all)
94 ZEND_FRAMELESS_FE(preg_replace, arginfo_preg_replace, 0, frameless_function_infos_preg_replace)
95 ZEND_FE(preg_filter, arginfo_preg_filter)
96 ZEND_FE(preg_replace_callback, arginfo_preg_replace_callback)
97 ZEND_FE(preg_replace_callback_array, arginfo_preg_replace_callback_array)
98 ZEND_FE(preg_split, arginfo_preg_split)
99 ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(preg_quote, arginfo_preg_quote)
100 ZEND_FE(preg_grep, arginfo_preg_grep)
101 ZEND_FE(preg_last_error, arginfo_preg_last_error)
102 ZEND_FE(preg_last_error_msg, arginfo_preg_last_error_msg)
103 ZEND_FE_END
104 };
105
register_php_pcre_symbols(int module_number)106 static void register_php_pcre_symbols(int module_number)
107 {
108 REGISTER_LONG_CONSTANT("PREG_PATTERN_ORDER", PREG_PATTERN_ORDER, CONST_PERSISTENT);
109 REGISTER_LONG_CONSTANT("PREG_SET_ORDER", PREG_SET_ORDER, CONST_PERSISTENT);
110 REGISTER_LONG_CONSTANT("PREG_OFFSET_CAPTURE", PREG_OFFSET_CAPTURE, CONST_PERSISTENT);
111 REGISTER_LONG_CONSTANT("PREG_UNMATCHED_AS_NULL", PREG_UNMATCHED_AS_NULL, CONST_PERSISTENT);
112 REGISTER_LONG_CONSTANT("PREG_SPLIT_NO_EMPTY", PREG_SPLIT_NO_EMPTY, CONST_PERSISTENT);
113 REGISTER_LONG_CONSTANT("PREG_SPLIT_DELIM_CAPTURE", PREG_SPLIT_DELIM_CAPTURE, CONST_PERSISTENT);
114 REGISTER_LONG_CONSTANT("PREG_SPLIT_OFFSET_CAPTURE", PREG_SPLIT_OFFSET_CAPTURE, CONST_PERSISTENT);
115 REGISTER_LONG_CONSTANT("PREG_GREP_INVERT", PREG_GREP_INVERT, CONST_PERSISTENT);
116 REGISTER_LONG_CONSTANT("PREG_NO_ERROR", PHP_PCRE_NO_ERROR, CONST_PERSISTENT);
117 REGISTER_LONG_CONSTANT("PREG_INTERNAL_ERROR", PHP_PCRE_INTERNAL_ERROR, CONST_PERSISTENT);
118 REGISTER_LONG_CONSTANT("PREG_BACKTRACK_LIMIT_ERROR", PHP_PCRE_BACKTRACK_LIMIT_ERROR, CONST_PERSISTENT);
119 REGISTER_LONG_CONSTANT("PREG_RECURSION_LIMIT_ERROR", PHP_PCRE_RECURSION_LIMIT_ERROR, CONST_PERSISTENT);
120 REGISTER_LONG_CONSTANT("PREG_BAD_UTF8_ERROR", PHP_PCRE_BAD_UTF8_ERROR, CONST_PERSISTENT);
121 REGISTER_LONG_CONSTANT("PREG_BAD_UTF8_OFFSET_ERROR", PHP_PCRE_BAD_UTF8_OFFSET_ERROR, CONST_PERSISTENT);
122 REGISTER_LONG_CONSTANT("PREG_JIT_STACKLIMIT_ERROR", PHP_PCRE_JIT_STACKLIMIT_ERROR, CONST_PERSISTENT);
123 REGISTER_STRING_CONSTANT("PCRE_VERSION", php_pcre_version, CONST_PERSISTENT);
124 REGISTER_LONG_CONSTANT("PCRE_VERSION_MAJOR", PCRE2_MAJOR, CONST_PERSISTENT);
125 REGISTER_LONG_CONSTANT("PCRE_VERSION_MINOR", PCRE2_MINOR, CONST_PERSISTENT);
126 REGISTER_BOOL_CONSTANT("PCRE_JIT_SUPPORT", PHP_PCRE_JIT_SUPPORT, CONST_PERSISTENT);
127 }
128