Andrei Zmievski
79742f81a2
Flush regexp cache if we detect corruption.
2005-05-24 21:07:32 +00:00
Andrey Hristov
9e939133d2
FR 32275 - fifth parameter to preg_replace() to count number of replaces
...
made.
#it would be nice if someone of the doc team documents it. thanks!
2005-03-12 12:03:50 +00:00
Antony Dovgal
ffb2cf7a94
return empty string when got empty parameter
2004-12-24 19:45:54 +00:00
Ilia Alshanetsky
5484568c5c
Avoid causing a crash.
2004-12-10 00:36:51 +00:00
Antony Dovgal
5dbe3f6f4f
fix 1-byte leak
2004-12-09 15:07:56 +00:00
Andrei Zmievski
ace6ff598c
MFB.
2004-08-25 20:48:48 +00:00
Marcus Boerger
1d913a9c0b
MFB: TSRM fix
2004-08-24 21:49:09 +00:00
Andrei Zmievski
f30355a7df
MFB.
2004-08-24 20:58:59 +00:00
Andi Gutmans
56f8195fe5
- Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
...
used to return "" and not bool(false). It's not worth keeping it because
STR_FREE() and zval_dtor() always have to check for it and it slows down
the general case. In addition, it seems that empty_string has been abused
quite a lot, and was used not only for setting zval's but generally in
PHP code instead of "", which wasn't the intention. Last but not least,
nuking empty_string should improve stability as I doubt every place
correctly checked if they are not mistakenly erealloc()'ing it or
calling efree() on it.
NOTE: Some code is probably broken. Each extension maintainer should
check and see that my changes are OK. Also, I haven't had time to touch
PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Andrei Zmievski
279770743f
MFB (better error checking in pcre_fullinfo() calls).
2004-06-22 22:21:58 +00:00
Rasmus Lerdorf
191a661f8c
MFB: Fix for bug #27810
2004-04-23 18:08:58 +00:00
Sebastian Bergmann
e4ad9209ed
ZTS fix.
2004-02-01 08:34:47 +00:00
Moriyoshi Koizumi
0330fb2cbf
- Fix bug #27103 (preg_split('//u') incorrectly splits UTF-8 strings into octets).
2004-01-31 22:36:33 +00:00
Moriyoshi Koizumi
8e44a6ba0a
- POSIX / ISOX compliancy. This is needed to correctly handle UTF-8 characters.
2004-01-31 21:56:42 +00:00
Ilia Alshanetsky
e691cbd4ee
Fixed bug #27011 (64bit int/long confusion in preg_match*() functions).
2004-01-28 21:47:36 +00:00
Ilia Alshanetsky
0715651785
Fixed Bug #26927 (preg_quote() does not escape \0).
2004-01-16 02:29:50 +00:00
Andi Gutmans
dbeb4158d2
- A belated happy holidays and PHP 5
2004-01-08 08:18:22 +00:00
Andrei Zmievski
9fc9e4b2cf
MFB
2003-12-16 22:20:30 +00:00
Andrei Zmievski
e9fb9a7fa7
*** empty log message ***
2003-12-16 21:53:27 +00:00
foobar
78cb38105d
style fix
2003-11-25 20:02:22 +00:00
foobar
df8809650c
- Fixed bug #25504 (pcre_match_all() crashes when passed only 2 parameters)
2003-09-12 01:31:54 +00:00
Zeev Suraski
8767205afa
Fix Win32 linkage problems
2003-08-31 12:41:53 +00:00
Sascha Schumann
b9a67764d5
Fix error message
2003-08-28 17:09:44 +00:00
Andrei Zmievski
505fd434ac
MFB
2003-06-29 00:09:41 +00:00
James Cox
f68c7ff249
updating license information in the headers.
2003-06-10 20:04:29 +00:00
Ilia Alshanetsky
2e361db1fe
Fixed bug #23788 (str|preg_replace clober the array elements).
...
# Should this be MFBed to 4.3 branch?
2003-05-25 21:48:57 +00:00
Andrei Zmievski
8571f5eac2
Put some guards in place.
2003-05-20 18:11:09 +00:00
Sebastian Bergmann
5ca078779a
Eliminate some TSRMLS_FETCH() calls. Tested with Win32 build of SAPI/CGI and SAPI/CLI on Win32.
2003-03-25 08:07:13 +00:00
Ilia Alshanetsky
4fde1b8de1
zend_error() -> php_error_docref().
2003-01-24 05:21:08 +00:00
Moriyoshi Koizumi
e3e364f77b
Fixed bug #21758
2003-01-20 16:45:21 +00:00
Ilia Alshanetsky
3d8e54f3a2
Changed php_error to php_error_docref.
2003-01-19 00:45:53 +00:00
Ilia Alshanetsky
b2ecf47755
Fixed bug #21732 (Added a sanity check, that prevents parameter mismatch).
2003-01-18 20:48:52 +00:00
Sebastian Bergmann
b506f5c8f8
Bump year.
2002-12-31 16:08:15 +00:00
Ilia Alshanetsky
c7dd366c1a
Fixed bug #20528 .
2002-11-21 23:51:52 +00:00
Derick Rethans
a88e5c6e8d
- Remove \n from error messages
2002-11-10 21:24:54 +00:00
Andrei Zmievski
a60968287c
Fix memory leak in non-ZTS mode.
2002-11-09 00:43:37 +00:00
Marcus Boerger
15b2e277a4
fix compiler warning
2002-10-24 19:15:40 +00:00
Andrei Zmievski
6863d70ef3
Use a copy of locale instead of the original. Fixes bug #19482 .
2002-10-07 17:16:23 +00:00
Andrei Zmievski
3f4a2b1b6a
@- Added ability to use Perl-style ${n} subpattern references in the
...
@ replacement string for preg_replace(). Takes care of bug #18442 . (Andrei)
2002-09-11 14:41:25 +00:00
Andrei Zmievski
3650bab76f
Fix Bug #18341 .
...
@- Fixed cases where preg_split() incorrectly terminated final element if
@ it contained null byte. (Andrei)
2002-07-14 22:36:47 +00:00
foobar
b5e46c5e05
Fix build in ZTS mode
2002-06-13 01:04:40 +00:00
Andrei Zmievski
4f4b983a39
This patch adds ability to capture string offsets in the preg_match_*()
...
results.
2002-06-12 20:04:20 +00:00
Markus Fischer
9b1ec11184
- Typo.
2002-06-10 22:43:49 +00:00
Andrei Zmievski
001b4c71e4
This code adds string offset capturing in preg_split() results. Original
...
patch by David Brown, modified by me.
2002-05-23 17:22:05 +00:00
Andrei Zmievski
1668570e4d
Changing email address.
2002-05-13 17:28:38 +00:00
Andrei Zmievski
4acbbcf5a9
Revert bogus patch.
2002-04-19 17:23:22 +00:00
Derick Rethans
18a3f085aa
- Fix warnings in VC
2002-04-19 14:57:46 +00:00
Sebastian Bergmann
90613d2282
Maintain headers.
2002-02-28 08:29:35 +00:00
Andrei Zmievski
260aee10fe
Fix a long-standing infelicity that resulted in extra regex information
...
not being passed to PCRE functions.
2002-02-12 03:15:27 +00:00
Andrei Zmievski
51f1739983
Expose pcre_get_compiled_regex as an API function.
2002-02-12 03:00:05 +00:00
Andrei Zmievski
d0ed5b984c
- Fixed a bug with matching string containing null bytes.
2002-01-15 15:40:31 +00:00
Zeev Suraski
2f8284ca0a
Fix a warning and remove a printf() that slipped in...
2001-12-22 03:04:14 +00:00
Andrei Zmievski
0858fb4b73
@- Added flags parameter to preg_grep(). The only flag currently is
...
@ PREG_GREP_INVERT that will make the function return entries that
@ did not match. (Andrei)
2001-12-18 19:17:57 +00:00
Sebastian Bergmann
38933514e1
Update headers.
2001-12-11 15:32:16 +00:00
Andrei Zmievski
3942e2a8bd
Fixed bug #13635 .
2001-11-10 23:45:00 +00:00
Andrei Zmievski
a90e5f5a6b
@- Fixed a bug in preg_replace() that would change the type of the replacement
...
@ array entries to string. (Andrei)
2001-10-17 18:20:19 +00:00
Stig Bakken
689252082c
* zend_module_entry change: apino, debug and zts are moved first,
...
see README.EXTENSIONS file for upgrade help.
@Introduced extension version numbers (Stig)
2001-10-11 23:33:59 +00:00
Derick Rethans
78747bd2df
- Don't wrap lines... this is annoying while coding.
2001-09-09 13:29:31 +00:00
Sascha Schumann
23b9300fd1
more tsrm cleanup
2001-08-06 03:50:52 +00:00
Andrei Zmievski
8fca87adb5
Updated to match TSRM changes.
2001-07-30 15:41:11 +00:00
Zeev Suraski
c43806f415
Zend compatibility patch
2001-07-30 08:24:42 +00:00
Zeev Suraski
b0224d51da
Zend compatibility patch
2001-07-30 05:36:18 +00:00
Zeev Suraski
1c25b8dd53
Avoid TSRMLS_FETCH()'s, and clean up a bit of stale extern's and layout on the way
2001-07-30 01:56:43 +00:00
Zeev Suraski
d87cc976e1
Redesigned thread safety mechanism - nua nua
2001-07-28 11:36:37 +00:00
Zeev Suraski
fe6f8712a4
- Get rid of ELS_*(), and use TSRMLS_*() instead.
...
- Move to the new ts_allocate_id() API
This patch is *bound* to break some files, as I must have had typos somewhere.
If you use any uncommon extension, please try to build it...
2001-07-27 10:16:41 +00:00
Rui Hirokawa
86ae8add13
added an option to support utf-8 in pcre.
2001-07-13 03:37:18 +00:00
Rasmus Lerdorf
81e2cf03ac
Fix folding and clean up some extensions
2001-06-06 13:06:12 +00:00
Rasmus Lerdorf
25c3a3a39d
vim-6 does folding - clean up a bunch of missing folding tags plus
...
some misguided RINIT and RSHUTDOWN calls in a few fringe extensions
2001-06-05 13:12:10 +00:00
Stig Bakken
1beda9ee1e
* include "config.h" if HAVE_CONFIG_H is defined (for standalone dso build)
2001-05-24 10:07:29 +00:00
Andrei Zmievski
e1f671fb5c
Properly free callback_name only when necessary.
2001-05-20 01:21:44 +00:00
Andrei Zmievski
58f7df0ae4
Revert previous commit - callback_name does need to be checked because
...
it is set conditional on is_callable_replace.
2001-05-15 18:00:35 +00:00
Andrei Zmievski
eba50153ef
No need for check since callback_name is always filled in.
2001-05-14 12:58:48 +00:00
Wez Furlong
340c56e5c7
Fixed leak.
2001-05-12 00:45:55 +00:00
Andrei Zmievski
0eecec7773
@- Fixed a bug in preg_split() that would incorrectly limit the number of
...
@ results when used along with PREG_SPLIT_NO_EMPTY flag. (Andrei)
- Fixed a bug in preg_split() that would incorrectly limit the number of
results when used along with PREG_SPLIT_NO_EMPTY flag. (Andrei)
- Also made limit = -1 when limit = 0, to emulate Perl.
2001-05-04 16:43:53 +00:00
Sascha Schumann
c44da99842
Fix freeing of a NULL pointer
2001-04-22 17:20:03 +00:00
Andrei Zmievski
1a1018452c
@- Fixed a bug with /e modifier in preg_replace(), that would not correctly
...
@ replace two-digit references if single digit references were present
@ before them. This fixed bug #10218 . (Andrei)
2001-04-16 04:56:31 +00:00
Frank M. Kromann
f49d04fb12
Fixing compiler warning on win32
2001-03-13 16:39:47 +00:00
Andrei Zmievski
285ec0ca2c
@- IMPORTANT: removed /F modifier handling from preg_replace(). Instead
...
@ one should use new preg_replace_callback() function. (Andrei)
2001-03-13 05:24:03 +00:00
Andrei Zmievski
d73ef12429
@- Added array_reduce(), which allows iterative reduction of an array
...
@ to a single value via a callback function. (Andrei)
- Added array_reduce(), which allows iterative reduction of an array
to a single value via a callback function.
- Fixed usage of zend_is_callable() in PCRE.
2001-03-12 03:06:53 +00:00
Andi Gutmans
eb6ba01d1c
- Fix copyright notices with 2001
2001-02-26 06:11:02 +00:00
Andrei Zmievski
51c535f510
Move todo items.
2001-02-08 04:55:49 +00:00
Andrei Zmievski
56d3b036ec
Adding delimiter capturing functionality.
...
As far as NEWS, compilation fixed don't belong here.
2001-02-03 04:53:49 +00:00
Andrei Zmievski
898baa8b54
No need for CLS_FETCH().
2001-02-01 15:25:53 +00:00
Sascha Schumann
23ddeac9a5
Fix broken ZTS build
2001-02-01 15:24:17 +00:00
Andrei Zmievski
0651b4ff16
Modified /F handling to allow calling object methods.
2001-02-01 05:04:58 +00:00
Andrei Zmievski
b56006b5b2
If we can't call custom replacement function, don't change the subject
...
string.
2001-01-22 22:05:04 +00:00
Andrei Zmievski
5afcfc4498
Don't need to check for out-of-memory condition.
2001-01-22 19:42:29 +00:00
Andrei Zmievski
5068444dfe
Z-ify the source.
2001-01-22 19:29:44 +00:00
Andrei Zmievski
34f5c0c36d
Fix argument check (bug #8421 ).
2000-12-27 13:59:40 +00:00
Andrei Zmievski
a1614b8411
(PHP preg_replace) Fix to allow proper escaping of captured subpattern
...
references in the replacement string.
(PHP array_sum) Check that argument is an array.
2000-12-22 16:31:42 +00:00
Zeev Suraski
aa6d2ac5d0
Heads up people!
...
Updated the get_current_key() API - the relevant authors, please take
a look at the updated code and make sure it's ok...
2000-12-22 12:57:09 +00:00
Sascha Schumann
1626ba7ee9
Oh man, gcc's logic is really flawed
2000-11-27 13:28:26 +00:00
Sascha Schumann
aa6a62d96d
Kill a warning (code is correct)
2000-11-27 13:13:25 +00:00
Andrei Zmievski
def5059f44
Fix the arg array size.
2000-11-24 00:12:19 +00:00
Andrei Zmievski
0af5c36d94
This submission introduces two features.
...
The first one is support for Perl-style matching regexp delimiters, i.e.
using <[{( and )}]> to delimit the regular expressions.
The second one is a new 'F' modifier that allows you to specify a function name
in the replacement argument to preg_replace(). This function will be called
when the replacement needs to be made. It is passed an array of full matched
pattern and captured subpatterns and it is expected to return a string that
will be used for replacement. 'e' and 'F' modifiers cannot be used together.
@- Implemented support for Perl-style matching regexp delimiters in PCRE.
@ You can use <{[( and )]}> to delimit your expressions now. (Andrei)
@- Introduced new 'F' modifier in PCRE that lets you specify a function
@ name in the replacement argument to preg_replace() that will be called
@ at run-time to provide the replacement string. It is passed an array of
@ matched pattern and subpatterns. (Andrei)
2000-11-23 17:25:13 +00:00
Andrei Zmievski
3625a729a7
- Modified preg_replace() to take Perl-style $1 backreferences in addition
...
to \\n ones.
- Modified preg_grep() to always return the results with the keys
from the original array.
2000-11-15 05:09:55 +00:00
Andrei Zmievski
468068705f
@- Modified preg_replace() to ignore backreferences that refer to
...
@ non-existing subpatterns. (Andrei)
2000-11-13 19:49:41 +00:00
Andrei Zmievski
b111463f4c
Fixed bug #6740 .
...
I happen to think that this is php_addslashes() problem, not PCRE's.
When 0 is passed for the length of the string to php_addslashes() it
assumes that we want to process the whole string and happily runs
strlen() on it. That is bad. It should respect the length and return
an empty string if it's 0.
2000-09-14 15:44:36 +00:00
Zeev Suraski
6c3d7449e1
- Made eval() and several other runtime-evaluated code portions report the
...
nature and location of errors more accurately (Stas)
2000-09-12 20:48:33 +00:00
Andrei Zmievski
4df36948c8
@- Fixed a bug in preg_replace() that would truncate subject string if the
...
@ first argument was en empty array. (Andrei)
This fixes bug #6346 , that would truncate subject string if the
first argument was en empty array.
2000-08-25 13:51:07 +00:00