PhpRiot
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store

ereg_replace

(PHP 4, PHP 5)

ereg_replaceReplace 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() - Regular expression match
  • eregi() - Case insensitive regular expression match
  • eregi_replace() - Replace regular expression case insensitive
  • str_replace() - Replace all occurrences of the search string with the replacement string
  • preg_replace() - Perform a regular expression search and replace
  • quotemeta() - Quote meta characters

PHP Manual