preg_quote

Quote regular expression characters

&reftitle.description; `string` `preg_quote` `string` `str` ``string``null```delimiter`&null;

`preg_quote` takes `str` and puts a backslash in front of every character that is part of the regular expression syntax. This is useful if you have a run-time string that you need to match in some text and the string may contain special regex characters.

The special regular expression characters are: `. \ + * ? [ ^ ] $ ( ) { } = ! < > | : - #`

Note that `/` is not a special regular expression character.

Note that `preg_quote` is not meant to be applied to the $replacement string(s) of `preg_replace` etc.

&reftitle.parameters;

`str`

- The input string.

`delimiter`

- If the optional `delimiter` is specified, it will also be escaped. This is useful for escaping the delimiter that is required by the PCRE functions. The `/` is the most commonly used delimiter.

&reftitle.returnvalues;

Returns the quoted (escaped) string.

&reftitle.changelog;

&Version; | &Description;
7.3.0 | The `#` character is now quoted
7.2.0 | `delimiter` is nullable now.

&reftitle.examples;

### `preg_quote` example

    <?php
    $keywords = '$40 for a g3/400';
    $keywords = preg_quote($keywords, '/');
    echo $keywords; // returns \$40 for a g3\/400
    ?>

### Italicizing a word within some text

    <?php
    // In this example, preg_quote($word) is used to keep the
    // asterisks from having special meaning to the regular
    // expression.

    $textbody = "This book is *very* difficult to find.";
    $word = "*very*";
    $textbody = preg_replace ("/" . preg_quote($word, '/') . "/",
                              "<i>" . $word . "</i>",
                              $textbody);
    ?>

&reftitle.notes; ¬e.bin-safe;
&reftitle.seealso;

- PCRE Patterns
- `escapeshellcmd`