substr_replace - Заменяет часть строки
Вернуться к: Обработка строк
substr_replace
(PHP 4, PHP 5, PHP 7)
substr_replace — Заменяет часть строки
Описание
substr_replace() заменяет часть строки
string
, начинающуюся с символа с порядковым
номером start
и (необязательной) длиной
length
, строкой
replacement
и возвращает результат.
Список параметров
-
string
-
Входная строка.
Также можно указать массив строк, в этом случае замены будут происходить с каждой предоставленной строкой. В этом случае параметры
replacement
,start
иlength
могут быть как скалярными значениями - в этом случае эти значения будут применены к каждой строке, так и массивами - в этом случае соответствующие элементы массивов будут применены к каждой предоставленной строке. -
replacement
-
Строка замены.
-
start
-
Если
start
положителен, замена начинается с символа с порядковым номеромstart
строкиstring
.Если
start
отрицателен, замена начинается с символа с порядковым номеромstart
, считая от конца строкиstring
. -
length
-
Если аргумент положителен, то он представляет собой длину заменяемой подстроки в строке
string
. Если этот аргумент отрицательный, он определяет количество символов от конца строкиstring
, на которых заканчивается замена. Этот аргумент необязателен и по умолчанию равен strlen(string
);, т.е. замена до конца строкиstring
. Разумеется, еслиlength
равен нулю, то это эквивалентно вставкеreplacement
вstring
на указанной позицииstart
.
Возвращаемые значения
Возвращает результирующую строку. Если string
является массивом, то возвращает массив.
Примеры
Пример #1 Простой пример использования substr_replace()
<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Оригинал: $var<hr />\n";
/* Обе следующих строки заменяют всю строку $var на 'bob'. */
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";
/* Вставляет 'bob' в начало $var. */
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";
/* Обе следующих строки заменяют 'MNRPQR' in $var на 'bob'. */
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";
/* Удаляет 'MNRPQR' из $var. */
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>
Пример #2 Использование substr_replace() для одновременной множественной замены строк
<?php
$input = array('A: XXX', 'B: XXX', 'C: XXX');
// Простой случай: заменяем XXX на YYY в каждой строке.
echo implode('; ', substr_replace($input, 'YYY', 3, 3))."\n";
// Более сложный случай с уникальными заменами.
$replace = array('AAA', 'BBB', 'CCC');
echo implode('; ', substr_replace($input, $replace, 3, 3))."\n";
// Замены с разными количествами символов.
$length = array(1, 2, 3);
echo implode('; ', substr_replace($input, $replace, 3, $length))."\n";
?>
Результат выполнения данного примера:
A: YYY; B: YYY; C: YYY A: AAA; B: BBB; C: CCC A: AAAXX; B: BBBX; C: CCC
Примечания
Замечание: Эта функция безопасна для обработки данных в двоичной форме.
Смотрите также
- str_replace() - Заменяет все вхождения строки поиска на строку замены
- substr() - Возвращает подстроку
- Доступ к символу в строке и его изменение
Вернуться к: Обработка строк