PHP 8.4.1 Released!

Constantes predefinidas

As contantes abaixo são definidas por esta extensão e só estarão disponíveis quando a extensão tiver sido compilada no PHP ou tiver sido carregada dinamicamente em tempo de execução.

Constantes PREG
Constantes Descrição Desde
PREG_PATTERN_ORDER (int) Ordena os resultados de modo que $matches[0] seja um array de todas as correspondências da expressão, $matches[1] seja um array de strings combinadas pela primeira sub-expressão, e assim por diante. Esta opção é somente usada com preg_match_all().  
PREG_SET_ORDER (int) Ordena os resultados de modo que $matches[0] seja um array do primeiro conjunto de correspondências, $matches[1] seja um array do segundo conjunto de correspondências, e assim por diante. Esta opção é somente usada com preg_match_all().  
PREG_OFFSET_CAPTURE (int) Veja a descrição de PREG_SPLIT_OFFSET_CAPTURE.  
PREG_SPLIT_NO_EMPTY (int) Esta opção configura preg_split() para retornar apenas pedaços não vazios.  
PREG_SPLIT_DELIM_CAPTURE (int) Esta opção configura preg_split() para capturar expressões entre parênteses em expressões delimitadas.  
PREG_SPLIT_OFFSET_CAPTURE (int) Se esta opção for definida, para cada correspondência o deslocamento da string anexante também será retornado. Observe que isto muda os valores de retorno em um array onde cada elemento é um array consistindo da string correspondida no elemento 0 e seu deslocamento na string de entrada no elemento 1. Esta opção é usada somente para preg_split().  
PREG_UNMATCHED_AS_NULL (int) Esta opção informa a preg_match() e preg_match_all() para incluir sub-expressões não correspondidas em $matches como null. Sem esta opção, sub-expressões sem correspondência são reportadas como strings vazias, como se fossem correspondências vazias. Informar esta opção permite diferenciar entre esses dois casos. 7.2.0
PREG_NO_ERROR (int) Retornada pela preg_last_error() se não houver erros. 5.2.0
PREG_INTERNAL_ERROR (int) Retornada pela preg_last_error() se houver um erro interno na PCRE. 5.2.0
PREG_BACKTRACK_LIMIT_ERROR (int) Retornada pela preg_last_error() se o limite de rastreamento retroativo tiver sido ultrapassado. 5.2.0
PREG_RECURSION_LIMIT_ERROR (int) Retornada pela preg_last_error() se o limite de recursividade tiver sido ultrapassado. 5.2.0
PREG_BAD_UTF8_ERROR (int) Retornada pela preg_last_error() se o último erro foi causado por dados UTF-8 mal formados (somente ao usar uma expressão regular em modo UTF-8). 5.2.0
PREG_BAD_UTF8_OFFSET_ERROR (int) Retornada pela preg_last_error() se o deslocamento não tiver correspondido ao início de um ponto de código UTF-8 válido (somente ao usar uma expressão regular em modo UTF-8). 5.3.0
PREG_JIT_STACKLIMIT_ERROR (int) Retornada por preg_last_error() se a última função PCRE falhou por falta de espaço em pilha do JIT. 7.0.0
PCRE_VERSION (string) Versão da PCRE e data de lançamento (e.g. "7.0 18-Dec-2006"). 5.2.4
PCRE_VERSION_MAJOR (int) Número de versão principal do PCRE.  
PCRE_VERSION_MINOR (int) Número de versão secundária do PCRE.  
PCRE_JIT_SUPPORT (bool) Indica se o suporte PCRE JIT está disponível.  
PREG_GREP_INVERT (int) Retorna os elementos que não correspondem à expressão informada.  
adicione uma nota

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

up
27
erutan409 at hotmail dot com
9 years ago
PREG_PATTERN_ORDER: 1
PREG_SET_ORDER: 2
PREG_OFFSET_CAPTURE: 256
PREG_SPLIT_NO_EMPTY: 1
PREG_SPLIT_DELIM_CAPTURE: 2
PREG_SPLIT_OFFSET_CAPTURE: 4
PREG_NO_ERROR: 0
PREG_INTERNAL_ERROR: 1
PREG_BACKTRACK_LIMIT_ERROR: 2
PREG_RECURSION_LIMIT_ERROR: 3
PREG_BAD_UTF8_ERROR: 4
PREG_BAD_UTF8_OFFSET_ERROR: 5
PCRE_VERSION: %YOUR_VERSION_NUMBER%
up
16
Robert
8 years ago
The new PREG_JIT_STACKLIMIT_ERROR constant introduced with PHP 7.0.0 has got a value of 6.

I experienced this error code when parsing a 112KB file. preg_match_all failed with this error. Interesting was: The matches array contained some entries, but not all as the command failed (I missed to check the return value).

Unfortunately you can not configure the stack-size of the PCRE JIT. The only way out was - at least for me - to disable the PCRE JIT via php.ini (pcre.jit=0).
To Top