Задание №2 Переменные окружения



Лабораторная работа №10.

Регулярные выражения

Задание №1 Введение в регулярные выражения

Изучение принципов работы регулярных выражений в PHP.

Создайте новую папку для выполнения примеров с регулярными выражениями. Создайте в папке файл index.php.

Сформулируем первую задачу: Есть некоторая строка «Дональд Трамп стал президентом США». Необходимо проверить есть ли там некоторая подстрока, например «президент».

Решим данную задачу используя регулярные выражения:

Для решения задачи будем использовать функцию preq_match,которая в данном случае получает два параметра: первый шаблон по которому осуществляется поиск, второй – строка к которой данный шаблон необходимо применить. Функция вернет значение 1, если подстрока будет найдена, 0 – если такой подстроки нет, и может вернуть false, если возникнет ошибка в процессе выполнения.

Функция var_dump позволяет нам увидеть результат и его тип. Запустите данный пример. Надеюсь, что функция у Вас вернула значение 1 (int1);

Замените слово «президент» в шаблоне на слово ЮАР. Посмотрите на результат.

Переменная pattern в нашем случае содержит регулярное выражение. Как правило регулярное выражение заключается в какие-либо символы разделители. В данном случае использован символ «/».

Закомментируйте, но не удаляйте данный пример!

Рассмотрим еще один пример:

 

В данном случае мы осуществляем поиск цифр, а точнее всего числа 2016.

Применим первый шаблон с возможностью указания диапазона значений:

В данном случае функция вернет 1 если на месте последней цифры в числе, которое начинается на 200 будет 0,1,2,3,4,5 или 6. В нашем случае совпадение случиться для числа 6. Попробуйте данный пример для других интервалов и других значений, например так:

Требование на последнюю цифру мы оставляем прежним, а вот на третью в цифре накладываем ограничение: она должна быть только 0 или 2. Попробуйте другие примеры.

Диапазон или перечисление заключенное в квадратные скобки работает для одного символа, который должен находиться на нужном месте и удовлетворять данному набору символов.

В рассмотренном последнем примере наш шаблон в строке фактически ищет такие значения: 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2010,2011, 2012, 2013, 2014, 2015,2016. Если в исходной строке хотя бы одно из них будет найдено функция вернет значение 1.

Поставим следующую задачу: Проверить наличие в строке значения от 0000 до 9999. Как вы уже догадываетесь в этом случае можно использовать шаблон: /[0-9][0-9][0-9][0-9]/. И этот шаблон будет работать. Но представьте себе, что нам нужно найти соответствие на 200 или 300 цифр в числе. Тогда подобная запись будет крайне неудобной. Поэтому в регулярных выражениях существуют квантификаторы. Квантификаторы указывают количество повторений, которое необходимо применить указанный подшаблон.

Квантификаторы могут задаваться разными способами, например:

· {n} – искать повторение строго 2 раза подряд;

· {n,m} – искать повторение от n до m раз;

· {n,} – искать повторение n или более раз;

· + - любое количество повторений, но не меньше одного;

·

Нашу задачу можно записать так:[0-9]{4}

Задание №2 Переменные окружения

Нам с Вами понадобиться псевдо переменная __FILE__. В данной переменной находиться путь к исполняемому в данный момент файлу. Данный файл у нас находиться в корневой папке нашего проекта. Но его физический путь на диске совсем не является корневым.

Запишите в index.php следующий код и выполните его:

var_dump(__FILE__); // в переменной два подчеркивания как слева, так и справа

var_dump(dirname(__FILE__));

В результате в браузере вы должны будете увидеть информацию об полном физическом пути к файлу index.php и физический каталог в котором находиться корневой каталог нашего WEB ресурса. Данная информация нам понадобиться в дальнейшем.

Т.к. структура взаимодейтсвия файлов в проекте MVC обещает быть не тривиально, для подключения библиотек и классов мы будем использовать полный путь к файлу, чтобы измбежать ошибок.

 

 

Выведите её значение в браузер.


Дата добавления: 2018-04-04; просмотров: 287; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!