(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
mb_regex_set_options — Set/Get the default options for mbregex functions
Sets the default options described by options
for multibyte regex functions.
optionsThe options to set. This is a string where each character is an option. To set a mode, the mode character must be the last one set, however there can only be set one mode but multiple options.
| Option | Meaning | Changelog |
|---|---|---|
| i | Ambiguity match on | |
| x | Enables extended pattern form | |
| m | '.' matches with newlines |
|
| s | '^' -> '\A', '$' -> '\Z' |
|
| p | Same as both the m and s options |
|
| l | Finds longest matches | |
| n | Ignores empty matches | |
| e | eval() resulting code | Deprecated as of PHP 7.1.0 and removed as of PHP 8.0.0 |
Note:
The
"e"option has no effect when set through mb_regex_set_options(). Use it with mb_ereg_replace() or mb_eregi_replace() .
| Mode | Meaning |
|---|---|
| j | Java (Sun java.util.regex) |
| u | GNU regex |
| g | grep |
| c | Emacs |
| r | Ruby |
| z | Perl |
| b | POSIX Basic regex |
| d | POSIX Extended regex |
The previous options. If options is omitted or null ,
it returns the string that describes the current options.
| Version | Description |
|---|---|
| 8.0.0 |
If the parameter options is given and not null , the previous
options are returned. Formerly, the current options have been returned.
|
| 8.0.0 |
options is nullable now.
|
| 8.0.0 |
The "e" option now throws a ValueError .
|
| 7.1.0 |
The "e" option now emits an E_DEPRECATED .
|
Supported options are:
i - ONIG_OPTION_IGNORECASE
x - ONIG_OPTION_EXTEND
m - ONIG_OPTION_MULTILINE
s - ONIG_OPTION_SINGLELINE
p - ONIG_OPTION_MULTILINE | ONIG_OPTION_SINGLELINE
l - ONIG_OPTION_FIND_LONGEST
n - ONIG_OPTION_FIND_NOT_EMPTY
j - ONIG_SYNTAX_JAVA
u - ONIG_SYNTAX_GNU_REGEX
g - ONIG_SYNTAX_GREP
c - ONIG_SYNTAX_EMACS
r - ONIG_SYNTAX_RUBY
z - ONIG_SYNTAX_PERL
b - ONIG_SYNTAX_POSIX_BASIC
d - ONIG_SYNTAX_POSIX_EXTENDED
e - eval() resulting code
Constants above are from Oniguruma regexp library, which is used internally. Default value for PHP 5.2.x is 'pr'.It's a bit trickier, than patryk wrote:
There are parameters (you can specify several of these at the same time):
'i': ONIG_OPTION_IGNORECASE;
'x': ONIG_OPTION_EXTEND;
'm': ONIG_OPTION_MULTILINE;
's': ONIG_OPTION_SINGLELINE;
'p': ONIG_OPTION_MULTILINE | ONIG_OPTION_SINGLELINE;
'l': ONIG_OPTION_FIND_LONGEST;
'n': ONIG_OPTION_FIND_NOT_EMPTY;
'e': eval() resulting code
And there are "modes" (if you specify several of these, the LAST one will be used):
'j': ONIG_SYNTAX_JAVA;
'u': ONIG_SYNTAX_GNU_REGEX;
'g': ONIG_SYNTAX_GREP;
'c': ONIG_SYNTAX_EMACS;
'r': ONIG_SYNTAX_RUBY;
'z': ONIG_SYNTAX_PERL;
'b': ONIG_SYNTAX_POSIX_BASIC;
'd': ONIG_SYNTAX_POSIX_EXTENDED;
You can find descriptions of these constants here: http://www.geocities.jp/kosako3/oniguruma/doc/API.txt