ereg_replace
(PHP 4, PHP 5)
ereg_replace — Replace regular expression
Description
This function scans string for matches to pattern , then replaces the matched text with replacement .
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
preg_replace(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg_replace().