(PHP 4, PHP 5)
ereg_replace — Replace regular expression
$pattern
, string $replacement
, string $string
)
This function scans string
for matches to
pattern
, then replaces the matched text
with replacement
.
Ta funkcja jest PRZESTARZAŁA od PHP 5.3.0. Używanie tej funkcji nie jest zalecane.
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.
The modified string is returned. If no matches are found in
string
, then it will be returned unchanged.
For example, the following code snippet prints "This was a test" three times:
Przykład #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:
Przykład #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.' */
?>
Przykład #3 Replace URLs with links
<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
'<a href="\\0">\\0</a>', $text);
?>
Informacja:
Od PHP 5.3.0 rozszerzenie regex jest przestarzałe. Zamiast niego należy używać rozszerzenia PCRE. Wywołanie tych funkcji spowoduje wygenerowanie ostrzeżenia
E_DEPRECATED
. Zobacz listę różnic aby uzyskać pomoc w migracji do PCRE.
preg_replace(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg_replace().