PHP Conference Nagoya 2025

mb_regex_set_options

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

mb_regex_set_optionsDefine/Obtém as opções padrão para funções mbregex

Descrição

mb_regex_set_options(?string $options = null): string

Define/obtém as opções padrão descritas por options para funções de regex multibyte.

Parâmetros

options

As opções a serem definidas. Esta é uma string onde cada caractere é uma opção. Para definir um modo, o caractere de modo deve ser o último a ser definido, no entanto, pode haver apenas um modo, mas várias opções podem ser definidas.

Opções de Regex
Opção Significado Registro de Alterações
i correspondência ambígua ativada  
x Ativa a forma de padrão estendida  
m '.' corresponde a quebras de linha  
s '^' -> '\A', '$' -> '\Z'  
p Mesmo que as opçõe m e s  
l Encontrar as correspondências mais longas  
n Ignorar correspondências vazias  
e eval() código resultante Descontinuado desde o PHP 7.1.0 e removido a partir do PHP 8.0.0

Nota:

A opção "e" não tem efeito quando definida através de mb_regex_set_options(). Use-a com mb_ereg_replace() ou mb_eregi_replace().

Modos de sintaxe Regex (apenas um pode ser definido)
Modo Significado
j Java (Sun java.util.regex)
u GNU regex
g grep
c Emacs
r Ruby
z Perl
b Regex Básico POSIX
d Regex Estendido POSIX

Valor Retornado

As opções anteriores. Se options for omitido ou null, retorna a string que descreve as opções atuais.

Registro de Alterações

Versão Descrição
8.0.0 Se o parâmetro options for fornecido e não for null, as opções anteriores são retornadas. Anteriormente, as opções atuais eram retornadas.
8.0.0 options é anulável agora.
8.0.0 A opção "e" agora lança um ValueError.
7.1.0 A opção "e" agora emite um E_DEPRECATED.

Veja Também

  • mb_split() - Divide uma string multibyte usando expressão regular
  • mb_ereg() - Correspondência de expressão regular com suporte multibyte
  • mb_eregi() - Correspondência de expressão regular sem diferenciar maiúsculas e minúsculas com suporte multibyte

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
1
indeyets at php dot net
15 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
0
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