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



         

Разделение и соединение строки


Очень полезные функции – функция разделения строки на части и обратная ей функция объединения строк в одну строку. Почему очень полезные? Например, если вы динамически генерируете форму по желанию пользователя, можно предложить ему вводить элементы для создания списка выбора, разделяя их каким-нибудь символом. И для того чтобы обработать полученный список значений, как раз и пригодится умение разбивать строку на кусочки. Для реализации такого разбиения в PHP можно использовать несколько функций:

explode(разделитель,исходная строка [,максимальное число элементов]) split (шаблон, исходная строка [, максимальное число элементов]) preg_split (шаблон, исходная строка [, максимальное число элементов [,флаги]])

Последние две функции работают с регулярными выражениями, поэтому в данной лекции мы их рассматривать не будем. Рассмотрим более простую функцию – explode().

Функция explode() делит исходную строку на подстроки, каждая из которых отделена от соседней с помощью указанного разделителя, и возвращает массив полученных строк. Если задан дополнительный параметр максимальное число элементов, то число элементов в массиве будет не больше этого параметра, в последний элемент записывается весь остаток строки. Если в качестве разделителя указана пустая строка «""», то функция explode() вернет false. Если символа разделителя в исходной строке нет, то возвращается исходная строка без изменений.

Пример 8.11. мы хотим создать элемент формы – выпадающий список и значения для этого списка должен ввести пользователь, не знакомый с языком html. Создадим такую форму:

<form action=exp.php> Введите варианты для выбора автора статьи через двоеточие (":"):<br> <input type=text name=author size=40> <br> <input type=submit value=Создать элемент> </form>

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

Скрипт, который будет ее обрабатывать (exp.php), может быть таким:

<?php $str = $_GET["author"]; $names = explode(":",$str); // разбиваем строку введенную, // пользователем с помощью ":" $s = "<select name=author>"; // создаем выпадающий список foreach ($names as $k => $name) { $s .= "<option value=$k>$name"; // добавляем элементы к списку } $s .= "</select>"; echo $s; ?>




Содержание  Назад  Вперед