Практическая работа№23
Тема: Использование регулярных выражений
Цель: рассмотреть некоторые стандартные функции PHP для проверки корректности введённых данных и алгоритм использования регулярных выражений.
Время выполнения: 2 часа
Теоретический материал:
Ранее для поиска в строке подстроки использовали строковые функции, ограничиваясь при этом случаями точного соответствия строк и подстрок. Для работы со строками можно использовать также регулярные выражения, представляющие собой, по сути, мини-язык описаний для поиска в строках информации по заданному шаблону.
Функции для работы с регулярными выражениями:
1) boolereg(stringpattern, stringstring [, arrayregs]) – ищет в строке string соответствие регулярному выражению, заданному в шаблоне pattern.
2) stringereg_replace(stringpattern, stringreplacement, stringstring) – заменяет найденный в строке string шаблон pattern на строку replacement и, если соответствие было найдено, возвращает модифицированную строку.
3) booleregi (stringpattern, stringstring[, arrayregs]) – идентична функции ereg, за исключением того, что она игнорирует регистр.
4) arraysplit (stringpattern, stringstring [, intlimit]) – возвращает массив строк, которые представляют собой подстроки строки string, образованные в результате разделения строки string на подстроки в соответствии с регулярным выражением pattern.
5) arrayspliti (stringpattern, stringstring [, intlimit]) - аналогична функции split, за исключением того, что является нечувствительной к регистру.
6) stringeregi_replace (stringpattern, stringreplacement, stringstring) – аналогична функции ereg_replace, за исключением того, что она является нечувствительной к регистру.
Задания:
1. Составьте регулярное выражение для проверки корректности заполнения адреса электронной почты.
2. Создайте web-страницу, содержащую четыре поля (имя, адрес электронной почты, пароль и подтверждение пароля) и кнопку отправки данных.
Ход работы (решение сохраните в отдельную папку):
1. В первом задании нужно только составить выражение без его проверки на компьютере. В регулярном выражении для проверки адреса электронной почты необходимо учесть то, что: а) в имени пользователя могут присутствовать буквы нижнего и верхнего регистров, цифры, знаки подчеркивания, минуса и точки; б) для проверки разделителя между именем пользователя и именем домена в выражение требуется добавить +@; в) доменное имя может содержать две или три латинские буквы. Все три шага нужно объединить в одно выражение при помощи плюса.
2. К выполнению второго задания предъявляется следующие требования:
a. Поля и кнопка должны располагаться сверху вниз;
b. В имени могут содержаться только латинские буквы и цифры;
c. Адрес электронной почты проверяется в соответствие с регулярным выражением, составленным в предыдущем задании;
d. Пароль и подтверждение пароля должно отображаться знаками «*». Для этого указывается type=password. Конечно, значения обоих полей должны совпадать;
e. Вся форма и каждое поле в отдельности проверяется на пустоту при помощи функции empty или isset. Для каждого пустого поля выводится соответствующее сообщение красным цветом, например, «не введён адрес»;
f. Из первых двух полей удалите обратные слеши и тэги;
Как только форма заполнена абсолютно корректно на той же web-странице (где находится форма) выводится сообщение «всё в порядке».
Контрольные вопросы:
1. Что является регулярным выражением?
2. Укажите назначение регулярных выражений.
3. Охарактеризуйте базовый синтаксис описания регулярного выражения.
4. Охарактеризуйте групповой символ, ветки и границы при описании регулярных выражений.
5. Опишите функции для работы с регулярными выражениями.
6. Для чего предназначены функции isset() и empty()?
7. Какие стандартные функции Вы использовали при решении задач данного практического занятия?
8. Приведите пример замены некоторого регулярного выражения строковыми функциями.
9. Опишите синтаксис и назначение функций isset(), empty(), stripslashes(), htmlspecialchars().
10. Покажите на примере использование функции на проверку пустоты поля.
11. Какие этапы включает минимальный набор действий, необходимых для проверки корректности данных?
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.