Замена строки другой строкой. Функции str_replace() и substr_replace() в PHP
Функции str_replace() и substr_replace() в PHP позволяют осуществлять замену строки/подстроки другой строкой. Рассмотрим их по-подробнее.
str_replace()
str_replace() — заменяет искомую строку в строке (а также в строке, являющейся элементом массива).
Общий синтаксис данной функции:
1 |
mixed str_replace (mixed search, mixed replace, mixed subject [, int &count]) |
где:
search — искомая строка или массив строк
replace — строка замены или массив строк для замены
subject — элемент, в котором осуществляется поиск (может быть строка или массив)
count — количество замен (необязательный параметр)
Простейший пример:
1 2 3 |
<?php $resultStr = str_replace("o", "", "Hello"); echo $resultStr; // выведет "Hell" |
Так как в качестве параметров могут быть строки, то возможны вариации:
1. Первый параметр и второй являются массивами. В этом случае при поиске будут перебираться все элементы массива search и для замены будет браться соответствующий элемент из массива replace. Пример:
1 2 3 |
<?php $resultStr = str_replace(array("e", "0"), array("i", "a"), "Hello"); echo $resultStr; // выведет "Hilla", т.к. "e" будет заменено на "i", а "o" на "a" |
Если во втором массиве количество элементов меньше, чем в первом, то недостающие элементы будут заменены на пустые строки.
2. Первый параметр массив искомых строк, а второй параметр — строка. В этом случае также будут перебираться все элементы из массива для поиска, и каждый найденный элемент будет заменен вторым параметром — строкой.
1 2 3 |
<?php $resultStr = str_replace(array("e", "0"), "a", "Hello"); echo $resultStr; // выведет "Halla" |
substr_replace()
Функция substr_replace() позволяет заменять часть строки в строке.
Синтаксис:
1 |
string substr_replace ( string baseString, string strReplacement, int start [, int length] ) |
где:
baseString — строка, в которой происходит замена
strReplacement — строка для замена
start — индекс символа в строке, с которого начинать замену
length — количество заменяемых символов (необязательный параметр)
Проще говоря, мы указываем, с какой буквы в строке по какую заменить нужной строкой. Если длина не указана, то замена происходит до конца строки. Если этот параметр — отрицательное число, то отсчет ведется с конца строки (при этом параметр start тоже отрицательное число).
Пример:
1 2 3 |
<?php $resultStr = substr_replace("Hello world!", "aaa", 1, 3); echo $resultStr; // выведет "Haaao world!" |
Категория: PHP-скрипты