Здравствуйте! Записался на ваш курс, но не понимаю как произвести оплату. Надо ли писать заявление и, если да, то куда отправлять? как я получу диплом о профессиональной переподготовке? |
Работа со строками
Замена вхождения подстроки
Функция str_replace
Для замены вхождения подстроки можно использовать функцию str_replace() . Это простая и удобная функция, позволяющая решать множество задач, не требующих особых тонкостей при выборе заменяемой подстроки. Для того чтобы производить замены с более сложными условиями, используют механизм регулярных выражений и соответствующие функции ereg_replace() и preg_replace(). Синтаксис функции str_replace() такой:
str_replace(искомое значение, значение для замены, объект)
Функция str_replace() ищет в рассматриваемом объекте значение и заменяет его значением, предназначенным для замены. Почему мы говорим здесь не про строки для поиска и замены и исходную строку, а про значения и объект, в котором происходит замена? Дело в том, что начиная с PHP 4.0.5 любой аргумент этой функции может быть массивом.
Если объект, в котором производится поиск и замена, является массивом, то эти действия выполняются для каждого элемента массива и в результате возвращается новый массив.
<?php $greeting = array("Привет", "Привет всем!", "Привет, дорогая!"); // объект $new_greet = str_replace("Привет", "Доброе утро", $greeting); // делаем замену print_r($new_greet); /* получим: Array ([0]=>Доброе утро [1]=>Доброе утро всем! [2]=>Доброе утро, дорогая!) */ ?>Пример 8.7. Использование функции str_replace()
Если искомое значение и значение для замены – массивы, то берется по одному значению из каждого массива и производится их поиск и замена в объекте. Если значений для замены меньше, чем значений для поиска, то в качестве новых значений используется пустая строка.
<?php $greeting = array("Привет", "Привет всем!", "Привет, дорогая!","Здравствуйте", "Здравствуйте, товарищи", "Hi"); // объект $search = array ("Привет", "Здравствуйте", "Hi"); // значения, которые будем заменять $replace = array ("Доброе утро", "День добрый"); // значения, которыми будем заменять $new_greet = str_replace($search, $replace, $greeting); // делаем замену print_r($new_greet); //выводим полученный массив ?>Пример 8.8. Использование функции str_replace(). Вариант 2
В результате получим такой массив:
Array ( [0] => Доброе утро [1] => Доброе утро всем! [2] => Доброе утро, дорогая! [3] => День добрый [4] => День добрый, товарищи [5] => )
Если значения для поиска – массив, а значение для замены – строка, то эта строка будет использована для замены всех найденных значений.
<?php $greeting = array("Привет", "Привет всем!", "Привет, дорогая!", "Здравствуйте", "Здравствуйте, товарищи"); // объект $search = array ("Привет","Здравствуйте"); // значения, которые будем заменять $replace = "День добрый"; // значение, которым будем заменять $new_greet = str_replace($search, $replace, $greeting); // делаем замену print_r($new_greet); //выводим полученный массив ?>Пример 8.9. Использование функции str_replace(). Вариант 3
Получим:
Array ( [0] => День добрый [1] => День добрый всем! [2] => День добрый, дорогая! [3] => День добрый [4] => День добрый, товарищи )
Функция str_replace() чувствительна к регистру, но существует ее регистронезависимый аналог – функция str_ireplace() . Однако эта функция поддерживается не во всех версиях PHP.