substr_replace ()

Функція substr_replace

Ця функція поєднує в собі властивості двох уже розглянутих нами функцій - функції str_replace () і substr (). Її синтаксис такий:

substr_replace (вихідний рядок,
рядок для заміни позиція початкового символу [, довжина])

Ця функція замінює частину рядка рядком, для заміни. Замінюється та частина рядка (тобто підрядок), яка починається з позиції, вказаної параметром позиція початкового символу. За допомогою додаткового аргументу довжина можна обмежити число замінних символів. Тобто, фактично, ми не вказуємо конкретно рядок, який потрібно замінити, ми тільки описуємо, де він знаходиться і, можливо, яку довжину має. У цьому відмінність функції substr_replace () від str_replace ().

Як і у випадку з функцією substr () аргументи позиції початкового символу і довжина можуть бути негативними. Якщо позиція початкового символу позитивна, то заміна відбувається, починаючи з цієї позиції щодо кінця рядка. Негативна довжина задає, скільки символів від кінця рядка не повинно бути замінено. Якщо довжина не вказується, то заміна відбувається до кінця рядка.

Приклад. Використання функції substr_replace ()

<? 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"; 
?>

У результаті роботи цього скрипта одержимо: 
Вихідний рядок: Мене звуть Вася. 
------------------------------------------ 
А мене - Петя 
А мене - Петя 
Привіт! Мене звуть Вася. 
Мене звуть Іван. 
Мене звуть Іван