Обработка строк
PHP Manual

substr_replace

(PHP 4, PHP 5)

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

Описание

mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] )

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 является массивом, то возвращает массив.

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

Версия Описание
4.3.3 Все параметры теперь могут являться массивами.

Примеры

Пример #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' 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'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

Примечания

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

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


Обработка строк
PHP Manual