POSIX Regex Functions
ereg
POSIX Regex Functions
PHP Manual

# ereg_replace

Replace regular expression

### 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`.

Warning

This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.

### 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.

### Return Values

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

### Examples

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

Example #1 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:

Example #2 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.' */
?>`

Example #3 Replace URLs with links

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

### Notes

> Note:

> As of PHP 5.3.0, the regex extension is deprecated in favor of the PCRE extension. Calling this function will issue an `E_DEPRECATED` notice. See the list of differences for help on converting to PCRE.

Tip

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

### See Also

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