Função preg_quote

A função preg_quote adiciona barras invertidas antes de caracteres especiais de expressões regulares. O primeiro parâmetro é a string a ser escapada, o segundo (opcional) é o caractere que também deve ser escapado.

Sintaxe

phppreg_quote(string, [delimiter]);

Exemplo

Escapando uma string com caracteres especiais:

php<?php
  $str = 'price is .99 (50% off)';
  echo preg_quote($str);
?>

Resultado da execução do código:

php'price is $10\.99 \(50\% off\)'

Exemplo

Escapando com um caractere delimitador adicional:

php<?php
  $str = 'user/data/file.txt';
  echo preg_quote($str, '/');
?>

Resultado da execução do código:

php'user\/data\/file\.txt'

Exemplo

Uso em uma expressão regular:

php<?php
  $search = 'file*.txt';
  $pattern = '/^' . preg_quote($search, '/') . '$/';
  echo $pattern;
?>

Resultado da execução do código:

php'/^file\*\.txt$/'

Veja também

  • a função preg_match,
    que executa uma verificação de correspondência com uma expressão regular
  • a função preg_replace,
    que executa busca e substituição por expressão regular