ereg_replace

Replace regular expression

&reftitle.description; `string` `ereg_replace` `string` `pattern` `string` `replacement` `string` `string`

This function scans `string` for matches to `pattern`, then replaces the matched text with `replacement`.

&warn.deprecated.function-5-3-0.removed-6-0-0;
&reftitle.parameters;

`pattern`

- A POSIX extended regular expression.

`replacement`

- If `pattern` contains parenthesized substrings, `replacement` may contain substrings of the form `\`digit``, which will be replaced by the text matching the digit'th parenthesized substring; `\0` will produce the entire contents of string. Up to nine substrings may be used. Parentheses may be nested, in which case they are counted by the opening parenthesis.

`string`

- The input string.

&reftitle.returnvalues;

The modified string is returned. If no matches are found in `string`, then it will be returned unchanged.

&reftitle.examples;

For example, the following code snippet prints "This was a test" three times:

### `ereg_replace` example

    <?php

    $string = "This is a test";
    echo str_replace(" is", " was", $string);
    echo ereg_replace("( )is", "\\1was", $string);
    echo ereg_replace("(( )is)", "\\2was", $string);

    ?>

One thing to take note of is that if you use an integer value as the `replacement` parameter, you may not get the results you expect. This is because `ereg_replace` will interpret the number as the ordinal value of a character, and apply that. For instance:

### `ereg_replace` example

    <?php
    /* This will not work as expected. */
    $num = 4;
    $string = "This string has four words.";
    $string = ereg_replace('four', $num, $string);
    echo $string;   /* Output: 'This string has   words.' */

    /* This will work. */
    $num = '4';
    $string = "This string has four words.";
    $string = ereg_replace('four', $num, $string);
    echo $string;   /* Output: 'This string has 4 words.' */
    ?>

### Replace URLs with links

    <?php
    $text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                         '<a href="\\0">\\0</a>', $text);
    ?>

&reftitle.notes; ¬e.regex.deprecated;

`ereg_replace` is deprecated as of PHP 5.3.0. `preg_replace` is the suggested alternative to this function.

&reftitle.seealso;

- `ereg`
- `eregi`
- `eregi_replace`
- `str_replace`
- `preg_replace`
- `quotemeta`