Syntax
string
ereg_replace ( string pattern, string replacement, string string )
This function scans string for matches to
pattern, then replaces the matched text
with replacement.
The modified string is returned. (Which may mean that the
original string is returned if there are no matches to be
replaced.)
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.
If no matches are found in string, then
string will be returned unchanged.
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); ?>
|
|
Tip:
preg_replace(), which uses a Perl-compatible
regular expression syntax, is often a faster alternative to
ereg_replace().
See also ereg(), eregi(),
eregi_replace(), str_replace(), and
preg_match().