top

Описание функции ereg-replace



ereg_replace


(PHP 3, PHP 4)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=
http://heel.org.ua/\"\\0\">\\0</a>", $text);



См. также ereg() , eregi() , eregi_replace() , str_replace() и preg_match() .
corner
My pencil ;)
Главная     Сервисы     Портфолио     Проги     Видео     Контакты     Ссылки     Текст