mb_regex_set_options

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_regex_set_optionsУстановка/получение значений по умолчанию для настроек функций mbregex

Описание

mb_regex_set_options(string|null $options = null): string

Устанавливает параметры по умолчанию, описанные в options, для функций регулярных выражений, работающих со строками в многобайтных кодировках.

Список параметров

options

Настройки, которые требуется задать. Это строка, в которой каждый символ отвечает за какую-то настройку. Для установки режима, его символ должен идти последним. Таким образом, можно задать только один режим, но несколько опций.

Настройки регулярных выражений
Настройка Описание
i Включение неоднозначных совпадений
x Включает форму расширенного шаблона
m '.' совпадения с переводами строк
s '^' -> '\A', '$' -> '\Z'
p То же, что и объединение m и s
l Поиск совпадений, имеющих наибольшую длину
n Игнорировать пустые совпадения
e Вычисление кода результата функцией eval()
Синтаксические режимы регулярных выражений
Режим Описание
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

Возвращаемые значения

Предыдущие варианты. Если options опущен или равен null, он возвращает строку (string), которая описывает текущие параметры.

Список изменений

Версия Описание
8.0.0 Если параметр options задан и не равен null, возвращаются предыдущие параметры. Ранее возвращались текущие параметры.
8.0.0 Параметр options может принимать значение null.

Смотрите также

  • mb_split() - Разделение строк в многобайтных кодировках, используя регулярное выражение
  • mb_ereg() - Совпадение с регулярным выражением с поддержкой многобайтовых кодировок
  • mb_eregi() - Поиск соответствий регулярному выражению с поддержкой многобайтовых символов без учёта регистра

add a note add a note

User Contributed Notes 2 notes

up
2
indeyets at php dot net
14 years ago
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
up
1
patryk dot szczyglowski at gmail dot com
15 years ago
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'.
To Top