Язык программирования PHP

Функция substr_replace


Эта функция сочетает в себе свойства двух уже рассмотренных нами функций – функции str_replace() и substr(). Ее синтаксис таков:

substr_replace (исходная строка, строка для замены, позиция начального символа [, длина])

Эта функция заменяет часть строки строкой, предназначенной для замены. Заменяется та часть строки (т.е. подстрока), которая начинается с позиции, указанной параметром позиция начального символа. С помощью дополнительного аргумента длина можно ограничить число заменяемых символов. То есть, фактически, мы не указываем конкретно строку, которую нужно заменить, мы только описываем, где она находится и, возможно, какую длину имеет. В этом отличие функции substr_replace() от str_replace().

Как и в случае с функцией substr() аргументы позиция начального символа и длина могут быть отрицательными. Если позиция начального символа отрицательна, то замена производится, начиная с этой позиции относительно конца строки. Отрицательная длина задает, сколько символов от конца строки не должно быть заменено. Если длина не указывается, то замена происходит до конца строки.

<?php $text = "Меня зовут Вася."; echo "Исходная строка: $text<hr>\n"; /* Следующие две строки заменят всю исходную строку строкой 'А меня – Петя' */ echo substr_replace($text, 'А меня – Петя', 0) . "<br>\n"; echo substr_replace($text, 'А меня – Петя', 0, strlen($text)) . "<br>\n"; // Следующая строка добавит слово 'Привет! ' // в начало исходной строки echo substr_replace($text, 'Привет! ', 0, 0) . "<br>\n"; // Следующие две строки заменят имя Вася // на имя Иван в исходной строке echo substr_replace($text, 'Иван', 11, -1) . "<br>\n"; echo substr_replace($text, 'Иван', -5, -1) . "<br>\n"; ?>

Пример 8.10. Использование функции substr_replace() (html, txt)

В результате работы этого скрипта получим:

Исходная строка: Меня зовут Вася. ------------------------------------------ А меня – Петя А меня – Петя Привет! Меня зовут Вася. Меня зовут Иван. Меня зовут Иван.



Содержание раздела