substr_replace

(PHP 4, PHP 5, PHP 7)

substr_replaceЗаменяет часть строки

Описание

substr_replace ( array|string $string , array|string $replace , array|int $offset , array|int|null $length = null ) : string|array

substr_replace() заменяет часть строки string, начинающуюся с символа с порядковым номером offset и (необязательной) длиной length, строкой replace и возвращает результат.

Список параметров

string

Входная строка.

Также можно указать массив строк, в этом случае замены будут происходить с каждой предоставленной строкой. В этом случае параметры replace, offset и length могут быть как скалярными значениями - в этом случае эти значения будут применены к каждой строке, так и массивами - в этом случае соответствующие элементы массивов будут применены к каждой предоставленной строке.

replace

Строка замены.

offset

Если offset положителен, замена начинается с символа с порядковым номером offset строки string.

Если offset отрицателен, замена начинается с символа с порядковым номером offset, считая от конца строки string.

length

Если аргумент положителен, то он представляет собой длину заменяемой подстроки в строке string. Если этот аргумент отрицательный, он определяет количество символов от конца строки string, на которых заканчивается замена. Этот аргумент необязателен и по умолчанию равен strlen(string);, то есть замена до конца строки string. Разумеется, если length равен нулю, то это эквивалентно вставке replace в string на указанной позиции offset.

Возвращаемые значения

Возвращает результирующую строку. Если string является массивом, то возвращает массив.

Список изменений

Версия Описание
8.0.0 length теперь допускает значение null.

Примеры

Пример #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'0strlen($var)) . "<br />\n";

/* Вставляет 'bob' в начало $var. */
echo substr_replace($var'bob'00) . "<br />\n";

/* Обе следующих строки заменяют 'MNRPQR' в $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'33))."\n";

// Более сложный случай с уникальными заменами.
$replace = array('AAA''BBB''CCC');
echo 
implode('; 'substr_replace($input$replace33))."\n";

// Замены с разными количествами символов.
$length = array(123);
echo 
implode('; 'substr_replace($input$replace3$length))."\n";
?>

Результат выполнения данного примера:

A: YYY; B: YYY; C: YYY
A: AAA; B: BBB; C: CCC
A: AAAXX; B: BBBX; C: CCC

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также