ereg_replace PDF Печать E-mail

(PHP 3, PHP 4, PHP 5)

ereg_replace - замещает регулярное выражение.

Описание

string ereg_replace ( string pattern, string replacement, string string)

 

Примечание: preg_replace(), которая использует Perl-совместимый синтаксис регулярного выражения, часто работает быстрее, чем ereg_replace().

Эта функция сканирует string для поиска совпадений с pattern, затем заменяет совпавший текст строкой replacement.

Возвращается модифицированная строка. (Что может означать, что строка-оригинал будет возвращена, если нет заменённых совпадений.)

Если pattern содержит подстроку в скобках, replacement может содержать подстроки вида \\digit, которые будут заменены текстом, совпавшим с digit'ной подстрокой в скобках; \\0 воспроизведёт всё содержимое строки.Может использоваться до 9 подстрок. Скобки могут вкладываться, и тогда они подсчитываются по открывающим скобкам.

Если совпадения в string не найдены, то string вернётся без изменений.

Например, следующий фрагмент кода печатает "This was a test" три раза:

Пример 1. ereg_replace()

$string = "This is a test";  
echo ereg_replace (" is", " was", $string);  
echo ereg_replace ("( )is", "\\1was", $string);  
echo ereg_replace ("(( )is)", "\\2was", $string);

Единственное, что необходимо отметить - если вы используете целочисленное значение как параметр replacement, вы можете не получить ожидаемый результат. Это из-за того, что ereg_replace() будет интерпретировать число как простое значение символа и применит его. Например:

Пример 2. ereg_replace()

<?php  
/* Это не будет работать так, как ожидается. */  
$num = 4;  
$string = "This string has four words.";  
$string = ereg_replace('four', $num, $string);  
echo $string; 
/* Output: 'This string has words.' */    
/* Это будет работать. */  
$num = '4';  
$string = "This string has four words.";  
$string = ereg_replace('four', $num, $string);  
echo $string; 
/* Output: 'This string has 4 words.' */  
?>

Пример 3. Замена URLs ссылками

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

По материалам сайта: http://www.php.su/