Разбиение и слияние строк выполняется с помощью функций:
string chunk_split(string body[,int chunklen[,string end]])
array explode(string separator, string string [, int limit])
string implode(string glue, array pieces)
string wordwrap(string str [, int width
[, string break [, int cut]]])
Функция chunk_split()возвращает исходную строку body, состоящую из подстрок длиной chunklen (по умолчанию 76), в конце которых вставлены строки end (по умолчанию "\r\n").
Функция explode() формирует из исходной строки string массив строк, разбитых по границам, указанным в строке separator. Если задан параметр limit, число элементов массива ограничивается значением, указанном в этом параметре. Функция implode() выполняет обратную задачу – сливает элементы массива pieces в возвращаемую строку с заданием после значения каждого элемента, кроме последнего, строки glue.
Функция wordwrap() возвращает строку str с переносом в столбце с номером, заданном аргументом width. Строка разбивается с помощью аргумента break. По умолчанию значение параметра width равно 75, а значение параметра break – символу "\n". Перенос выполняется между словами, однако если аргумент cut установлен в true, разрыв делается точно в заданной колонке. Поэтому если исходная строка содержит слово длиннее, чем заданная длина, то в этом случае слово будет разорвано.
|
|
Пример 4.6.122. Использование функций explode() и implode():
1. Преобразование строки в массив и восстановление строки из массива с другим разделителем:
// Изменяемая строка
$str = 'Ivanov Ivan Ivanovich';
// Формирование массива из строки
$arrayName = explode(' ', $str);
// Вывод массива
print_r($arrayName);
// Обратное преобразование массива в строку
$str1 = implode(";", $arrayName);
// Вывод полученной строки
print "\n\$str1='$str1'";
В результате выполнения фрагмента на экран будут выведены строки:
2. Преобразование строки в массив и присваивание элементам массива значений переменных:
// Изменяемая строка
$str = 'Ivanov Ivan Ivanovich';
list($lastName, $firstName, $surname) =
explode(" ", $str);
// Вывод полученной строки
echo "\nFirst name: $firstName", "\nLast name: $lastName",
"\nSurname: $surname";
В результате выполнения фрагмента на экран будут выведены строки:
Пример 4.6.123. Использование функции wordwrap():
Разбиение одной строки $str на несколько строк без использования и с использованием параметра cut:
// Изменяемая строка
$str='The main problem now is the internationalization of network';
// Разбиение строки на подстроки без параметра cut
$str1 = wordwrap($str, 15, "\n<br/>");
// Вывод полученной строки
print "\n\$str1='$str1'";
// Разбиение строки на подстроки с параметром cut
$str2 = wordwrap($str, 15, "\n<br/>", true);
// Вывод полученной строки
print "\n\$str2='$str2'";
В результате выполнения фрагмента на экран будут выведены строки: