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 является массивом, то возвращает массив.
Пример #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', 0, strlen($var)). "<br />\n";
/* Вставляет 'bob' в начало $var. */
echo substr_replace($var, 'bob', 0, 0). "<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";
?>
Разделение и соединение строки в PHP.
Функции объединения/разделения строк: str_pad(), explode(), implode(), join().
Str_pad()
Синтаксис:
string str_pad(string strinput, int pad_length [, string pad_string [, int pad_type]])
Эта функция дополняет строку другой строкой до определенной длины. Аргумент strinput задает исходную строку. Аргумент pad_length задает длину возвращаемой строки. Если он имеет меньшее значение, чем исходная строка, то добавления не производится. Необязательный аргумент pad_string указывает на то, какую строку использовать в качестве дополнения. По умолчанию используются пробелы. Необязательный аргумент pad_type указывает, с какой стороны следует дополнять строку: справо, слево или с обеих сторон. Аргумент pad_type может принимать следующие значения: STR_PAD_RIGHT (по умолчанию), STR_PAD_LEFT, STR_PAD_BOTH.
Explode()
Синтаксис:
string explode(string arg, string str [, int maxlimit])
Функция explode() производит разделение строки в массив. Она возвращает массив строк, каждая из которых соответствует фрагменту исходной строки str, находящемуся между разделителями, указанными аргументом arg. Необязательный параметр maxlimit указывает максимальное количество элементов в массиве. Оставшаяся неразделенная часть будет содержаться в последнем элементе.
Пример:
<?
$str = "one two three for five";
$str_exp = explode(" ", $str);
/* теперь $str_exp = array([0] => one, [1] => two,
[2] => three, [3] => for, [4] => five)
*/
?>
Implode()
|
Синтаксис:
string implode(string var, array param)
Функция implode() является обратной функции explode() и производит объединение массива в строку. Функция возвращает строку, которая последовательно содержит все элементы массива, заданного в параметре param, между которыми вставляется значение, указанное в параметре var. Для примера выведем все то, что мы только что "умассивили" функцией explode(), используя пробел в качестве разделителя:
Пример:
<?
$str = "one two three four five";
$str_exp = explode(" ", $str);
/* $str_exp = array([0] => one, [1] => two,
[2] => three, [3] => four, [4] => five)
*/
$str_imp = implode(" ", $str_exp);
echo($str_imp);
?>
Join()
Синтаксис:
string join(string var, array param)
Аналог функции implode() - производит объединение массива в строку.